From 5ac50092f7fbcac6b20a914386a6bf229ccd11be Mon Sep 17 00:00:00 2001 From: Reinier van der Walle <walle@astron.nl> Date: Thu, 28 Apr 2022 10:02:52 +0200 Subject: [PATCH] initial commit of new design for ddrctrl --- .../designs/lofar2_unb2c_ddrctrl/hdllib.cfg | 65 + .../lofar2_unb2c_ddrctrl.fpga.yaml | 59 + ...sys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.ip | 3945 +++ .../qsys_lofar2_unb2c_ddrctrl_clk_0.ip | 548 + .../qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.ip | 1291 + .../qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.ip | 3700 +++ ...s_lofar2_unb2c_ddrctrl_onchip_memory2_0.ip | 1267 + .../qsys_lofar2_unb2c_ddrctrl_pio_pps.ip | 1535 + ...ys_lofar2_unb2c_ddrctrl_pio_system_info.ip | 1535 + .../qsys_lofar2_unb2c_ddrctrl_pio_wdi.ip | 1302 + .../qsys_lofar2_unb2c_ddrctrl_ram_scrap.ip | 1535 + ...qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.ip | 1525 + ...qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.ip | 1525 + .../qsys_lofar2_unb2c_ddrctrl_reg_epcs.ip | 1535 + ...lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.ip | 1535 + ...ar2_unb2c_ddrctrl_reg_fpga_voltage_sens.ip | 1535 + ...qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.ip | 1525 + ...qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.ip | 1525 + .../qsys_lofar2_unb2c_ddrctrl_reg_remu.ip | 1535 + .../qsys_lofar2_unb2c_ddrctrl_reg_wdi.ip | 1525 + ...ys_lofar2_unb2c_ddrctrl_rom_system_info.ip | 1535 + .../qsys_lofar2_unb2c_ddrctrl_timer_0.ip | 1402 + .../quartus/lofar2_unb2c_ddrctrl.sof.zip | Bin 0 -> 896737 bytes .../quartus/lofar2_unb2c_ddrctrl_pins.tcl | 22 + .../quartus/qsys_lofar2_unb2c_ddrctrl.qsys | 26469 ++++++++++++++++ .../src/vhdl/lofar2_unb2c_ddrctrl.vhd | 360 + .../src/vhdl/mmm_lofar2_unb2c_ddrctrl.vhd | 289 + .../vhdl/qsys_lofar2_unb2c_ddrctrl_pkg.vhd | 149 + .../tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd | 151 + 29 files changed, 60924 insertions(+) create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/hdllib.cfg create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/lofar2_unb2c_ddrctrl.fpga.yaml create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_clk_0.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_pps.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_system_info.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_wdi.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_ram_scrap.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_epcs.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_remu.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_wdi.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_rom_system_info.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_timer_0.ip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl.sof.zip create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl_pins.tcl create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/qsys_lofar2_unb2c_ddrctrl.qsys create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/lofar2_unb2c_ddrctrl.vhd create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/mmm_lofar2_unb2c_ddrctrl.vhd create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/qsys_lofar2_unb2c_ddrctrl_pkg.vhd create mode 100644 applications/lofar2/designs/lofar2_unb2c_ddrctrl/tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/hdllib.cfg b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/hdllib.cfg new file mode 100644 index 0000000000..7c09b9c06d --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/hdllib.cfg @@ -0,0 +1,65 @@ +hdl_lib_name = lofar2_unb2c_ddrctrl +hdl_library_clause_name = lofar2_unb2c_ddrctrl_lib +hdl_lib_uses_synth = common technology mm unb2c_board +hdl_lib_uses_sim = +hdl_lib_technology = ip_arria10_e2sg + +synth_files = + src/vhdl/qsys_lofar2_unb2c_ddrctrl_pkg.vhd + src/vhdl/mmm_lofar2_unb2c_ddrctrl.vhd + src/vhdl/lofar2_unb2c_ddrctrl.vhd + +test_bench_files = + tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd + +regression_test_vhdl = + tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd + +[modelsim_project_file] +modelsim_copy_files = + +[quartus_project_file] +synth_top_level_entity = + +quartus_copy_files = + quartus . + +quartus_qsf_files = + $RADIOHDL_WORK/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.qsf + +quartus_sdc_files = + $RADIOHDL_WORK/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.sdc + +quartus_tcl_files = + quartus/lofar2_unb2c_ddrctrl_pins.tcl + +quartus_vhdl_files = + +quartus_qip_files = + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl.qip + +quartus_ip_files = + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_clk_0.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_pps.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_system_info.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_wdi.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_ram_scrap.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_epcs.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_remu.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_wdi.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_rom_system_info.ip + $RADIOHDL_BUILD_DIR/unb2c/quartus/lofar2_unb2c_ddrctrl/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_timer_0.ip + + +nios2_app_userflags = -DCOMPILE_FOR_GEN2_UNB2 + diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/lofar2_unb2c_ddrctrl.fpga.yaml b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/lofar2_unb2c_ddrctrl.fpga.yaml new file mode 100644 index 0000000000..b5b0d83282 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/lofar2_unb2c_ddrctrl.fpga.yaml @@ -0,0 +1,59 @@ +schema_name : args +schema_version: 1.0 +schema_type : fpga + +hdl_library_name: lofar2_unb2c_ddrctrl +fpga_name : lofar2_unb2c_ddrctrl +fpga_description: "FPGA design lofar2_unb2c_ddrctrl" + +peripherals: + ############################################################################# + # Factory / minimal (from ctrl_unb2c_board.vhd) + ############################################################################# + - peripheral_name: unb2c_board/system_info + lock_base_address: 0x10000 + mm_port_names: + - ROM_SYSTEM_INFO + - PIO_SYSTEM_INFO + + - peripheral_name: unb2c_board/wdi + mm_port_names: + - REG_WDI + + - peripheral_name: unb2c_board/unb2_fpga_sens + mm_port_names: + - REG_FPGA_TEMP_SENS + - REG_FPGA_VOLTAGE_SENS + + - peripheral_name: unb2c_board/ram_scrap + mm_port_names: + - RAM_SCRAP + + - peripheral_name: eth/eth + mm_port_names: + - AVS_ETH_0_TSE + - AVS_ETH_0_REG + - AVS_ETH_0_RAM + + - peripheral_name: ppsh/ppsh + mm_port_names: + - PIO_PPS + + - peripheral_name: epcs/epcs + mm_port_names: + - REG_EPCS + + - peripheral_name: dp/dpmm + mm_port_names: + - REG_DPMM_CTRL + - REG_DPMM_DATA + + - peripheral_name: dp/mmdp + mm_port_names: + - REG_MMDP_CTRL + - REG_MMDP_DATA + + - peripheral_name: remu/remu + mm_port_names: + - REG_REMU + diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.ip new file mode 100644 index 0000000000..521055947e --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.ip @@ -0,0 +1,3945 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0</ipxact:library> + <ipxact:name>avs2_eth_coe_0</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>mm</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_mm_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mm_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_mm_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>mm</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mms_tse</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_tse_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_tse_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_tse_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_tse_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_tse_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>waitrequest</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_tse_waitrequest</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>4096</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>mm</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>mm_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mms_reg</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_reg_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_reg_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_reg_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_reg_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_reg_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>64</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>mm</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>mm_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mms_ram</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_ram_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_ram_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_ram_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_ram_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>mms_ram_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>4096</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>mm</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>mm_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>interrupt</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>irq</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>ins_interrupt_irq</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedAddressablePoint" type="string"> + <ipxact:name>associatedAddressablePoint</ipxact:name> + <ipxact:displayName>Associated addressable interface</ipxact:displayName> + <ipxact:value>qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.mms_reg</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>mm</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>mm_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedReceiverOffset" type="longint"> + <ipxact:name>bridgedReceiverOffset</ipxact:name> + <ipxact:displayName>Bridged receiver offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToReceiver" type="string"> + <ipxact:name>bridgesToReceiver</ipxact:name> + <ipxact:displayName>Bridges to receiver</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="irqScheme" type="string"> + <ipxact:name>irqScheme</ipxact:name> + <ipxact:displayName>Interrupt scheme</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>tse_address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_tse_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>tse_write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_tse_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>tse_read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_tse_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>tse_writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_tse_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>tse_readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_tse_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>tse_waitrequest</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_tse_waitrequest_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reg_address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reg_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reg_write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reg_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reg_read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reg_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reg_writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reg_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reg_readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reg_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>ram_address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_ram_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>ram_write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_ram_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>ram_read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_ram_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>ram_writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_ram_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>ram_readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_ram_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>irq</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_irq_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs2_eth_coe</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_mm_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_mm_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_tse_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>9</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_tse_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_tse_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_tse_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_tse_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_tse_waitrequest</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_reg_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_reg_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_reg_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_reg_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_reg_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_ram_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>9</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_ram_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_ram_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_ram_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>mms_ram_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>ins_interrupt_irq</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_tse_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>9</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_tse_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_tse_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_tse_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_tse_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_tse_waitrequest_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reg_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reg_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reg_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reg_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reg_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_ram_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>9</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_ram_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_ram_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_ram_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_ram_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_irq_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0</ipxact:library> + <ipxact:name>avs2_eth_coe</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters></ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element avs2_eth_coe_0 + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>mm</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_mm_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>mm_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_mm_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_tse</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_tse_address</name> + <role>address</role> + <direction>Input</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_tse_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_tse_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>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>4096</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_reg</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_reg_address</name> + <role>address</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_reg_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_reg_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_reg_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_reg_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>64</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_ram</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_ram_address</name> + <role>address</role> + <direction>Input</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_ram_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_ram_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_ram_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_ram_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>4096</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>2</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>interrupt</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>ins_interrupt_irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>qsys_lofar2_unb2c_ddrctrl_avs2_eth_coe_0.mms_reg</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_waitrequest</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_waitrequest_export</name> + <role>export</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>reg_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>reg_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>ram_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>ram_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>irq</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_irq_export</name> + <role>export</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mms_ram</key> + <value> + <connectionPointName>mms_ram</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mms_ram' start='0x0' end='0x1000' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>12</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>mms_reg</key> + <value> + <connectionPointName>mms_reg</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mms_reg' start='0x0' end='0x40' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>6</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>mms_tse</key> + <value> + <connectionPointName>mms_tse</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mms_tse' start='0x0' end='0x1000' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>12</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="clk" altera:internal="avs2_eth_coe_0.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="interrupt" altera:internal="avs2_eth_coe_0.interrupt" altera:type="interrupt" altera:dir="end"> + <altera:port_mapping altera:name="ins_interrupt_irq" altera:internal="ins_interrupt_irq"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="irq" altera:internal="avs2_eth_coe_0.irq" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_irq_export" altera:internal="coe_irq_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mm" altera:internal="avs2_eth_coe_0.mm" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_mm_clk" altera:internal="csi_mm_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mm_reset" altera:internal="avs2_eth_coe_0.mm_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_mm_reset" altera:internal="csi_mm_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mms_ram" altera:internal="avs2_eth_coe_0.mms_ram" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="mms_ram_address" altera:internal="mms_ram_address"></altera:port_mapping> + <altera:port_mapping altera:name="mms_ram_read" altera:internal="mms_ram_read"></altera:port_mapping> + <altera:port_mapping altera:name="mms_ram_readdata" altera:internal="mms_ram_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="mms_ram_write" altera:internal="mms_ram_write"></altera:port_mapping> + <altera:port_mapping altera:name="mms_ram_writedata" altera:internal="mms_ram_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mms_reg" altera:internal="avs2_eth_coe_0.mms_reg" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="mms_reg_address" altera:internal="mms_reg_address"></altera:port_mapping> + <altera:port_mapping altera:name="mms_reg_read" altera:internal="mms_reg_read"></altera:port_mapping> + <altera:port_mapping altera:name="mms_reg_readdata" altera:internal="mms_reg_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="mms_reg_write" altera:internal="mms_reg_write"></altera:port_mapping> + <altera:port_mapping altera:name="mms_reg_writedata" altera:internal="mms_reg_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mms_tse" altera:internal="avs2_eth_coe_0.mms_tse" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="mms_tse_address" altera:internal="mms_tse_address"></altera:port_mapping> + <altera:port_mapping altera:name="mms_tse_read" altera:internal="mms_tse_read"></altera:port_mapping> + <altera:port_mapping altera:name="mms_tse_readdata" altera:internal="mms_tse_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="mms_tse_waitrequest" altera:internal="mms_tse_waitrequest"></altera:port_mapping> + <altera:port_mapping altera:name="mms_tse_write" altera:internal="mms_tse_write"></altera:port_mapping> + <altera:port_mapping altera:name="mms_tse_writedata" altera:internal="mms_tse_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="ram_address" altera:internal="avs2_eth_coe_0.ram_address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_ram_address_export" altera:internal="coe_ram_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="ram_read" altera:internal="avs2_eth_coe_0.ram_read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_ram_read_export" altera:internal="coe_ram_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="ram_readdata" altera:internal="avs2_eth_coe_0.ram_readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_ram_readdata_export" altera:internal="coe_ram_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="ram_write" altera:internal="avs2_eth_coe_0.ram_write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_ram_write_export" altera:internal="coe_ram_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="ram_writedata" altera:internal="avs2_eth_coe_0.ram_writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_ram_writedata_export" altera:internal="coe_ram_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reg_address" altera:internal="avs2_eth_coe_0.reg_address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reg_address_export" altera:internal="coe_reg_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reg_read" altera:internal="avs2_eth_coe_0.reg_read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reg_read_export" altera:internal="coe_reg_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reg_readdata" altera:internal="avs2_eth_coe_0.reg_readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reg_readdata_export" altera:internal="coe_reg_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reg_write" altera:internal="avs2_eth_coe_0.reg_write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reg_write_export" altera:internal="coe_reg_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reg_writedata" altera:internal="avs2_eth_coe_0.reg_writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reg_writedata_export" altera:internal="coe_reg_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="avs2_eth_coe_0.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="tse_address" altera:internal="avs2_eth_coe_0.tse_address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_tse_address_export" altera:internal="coe_tse_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="tse_read" altera:internal="avs2_eth_coe_0.tse_read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_tse_read_export" altera:internal="coe_tse_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="tse_readdata" altera:internal="avs2_eth_coe_0.tse_readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_tse_readdata_export" altera:internal="coe_tse_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="tse_waitrequest" altera:internal="avs2_eth_coe_0.tse_waitrequest" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_tse_waitrequest_export" altera:internal="coe_tse_waitrequest_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="tse_write" altera:internal="avs2_eth_coe_0.tse_write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_tse_write_export" altera:internal="coe_tse_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="tse_writedata" altera:internal="avs2_eth_coe_0.tse_writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_tse_writedata_export" altera:internal="coe_tse_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>true</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_clk_0.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_clk_0.ip new file mode 100644 index 0000000000..7b17593487 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_clk_0.ip @@ -0,0 +1,548 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Altera Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_clk_0</ipxact:library> + <ipxact:name>clk_0</ipxact:name> + <ipxact:version>19.4</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>clk_in</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>in_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="qsys.ui.export_name" type="string"> + <ipxact:name>qsys.ui.export_name</ipxact:name> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk_in_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="qsys.ui.export_name" type="string"> + <ipxact:name>qsys.ui.export_name</ipxact:name> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clk_out</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedDirectClock" type="string"> + <ipxact:name>associatedDirectClock</ipxact:name> + <ipxact:displayName>Associated direct clock</ipxact:displayName> + <ipxact:value>clk_in</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clockRateKnown" type="bit"> + <ipxact:name>clockRateKnown</ipxact:name> + <ipxact:displayName>Clock rate known</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_n_out</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedDirectReset" type="string"> + <ipxact:name>associatedDirectReset</ipxact:name> + <ipxact:displayName>Associated direct reset</ipxact:displayName> + <ipxact:value>clk_in_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedResetSinks" type="string"> + <ipxact:name>associatedResetSinks</ipxact:name> + <ipxact:displayName>Associated reset sinks</ipxact:displayName> + <ipxact:value>clk_in_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>clock_source</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>in_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>clk_out</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_n_out</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Altera Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_clk_0</ipxact:library> + <ipxact:name>clock_source</ipxact:name> + <ipxact:version>19.4</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="clockFrequency" type="longint"> + <ipxact:name>clockFrequency</ipxact:name> + <ipxact:displayName>Clock frequency</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clockFrequencyKnown" type="bit"> + <ipxact:name>clockFrequencyKnown</ipxact:name> + <ipxact:displayName>Clock frequency is known</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="inputClockFrequency" type="longint"> + <ipxact:name>inputClockFrequency</ipxact:name> + <ipxact:displayName>inputClockFrequency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetSynchronousEdges" type="string"> + <ipxact:name>resetSynchronousEdges</ipxact:name> + <ipxact:displayName>Reset synchronous edges</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element clk_0 + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>clk_in</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>in_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>qsys.ui.export_name</key> + <value>clk</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>125000000</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_in_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>qsys.ui.export_name</key> + <value>reset</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk</name> + <type>clock</type> + <isStart>true</isStart> + <ports> + <port> + <name>clk_out</name> + <role>clk</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedDirectClock</key> + <value>clk_in</value> + </entry> + <entry> + <key>clockRate</key> + <value>125000000</value> + </entry> + <entry> + <key>clockRateKnown</key> + <value>true</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>true</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_reset</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>reset_n_out</name> + <role>reset_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedDirectReset</key> + <value>clk_in_reset</value> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>clk_in_reset</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>clk_in</key> + <value> + <connectionPointName>clk_in</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>0</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="clk" altera:internal="clk_0.clk" altera:type="clock" altera:dir="start"> + <altera:port_mapping altera:name="clk_out" altera:internal="clk_out"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk_in" altera:internal="clk_0.clk_in" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="in_clk" altera:internal="in_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk_in_reset" altera:internal="clk_0.clk_in_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="reset_n" altera:internal="reset_n"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk_reset" altera:internal="clk_0.clk_reset" altera:type="reset" altera:dir="start"> + <altera:port_mapping altera:name="reset_n_out" altera:internal="reset_n_out"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.ip new file mode 100644 index 0000000000..9e7909482e --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.ip @@ -0,0 +1,1291 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_jtag_uart_0</ipxact:library> + <ipxact:name>jtag_uart_0</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>rst_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>avalon_jtag_slave</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_chipselect</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_read_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_write_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>waitrequest</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_waitrequest</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>NATIVE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>irq</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>irq</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>av_irq</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedAddressablePoint" type="string"> + <ipxact:name>associatedAddressablePoint</ipxact:name> + <ipxact:displayName>Associated addressable interface</ipxact:displayName> + <ipxact:value>qsys_lofar2_unb2c_ddrctrl_jtag_uart_0.avalon_jtag_slave</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedReceiverOffset" type="longint"> + <ipxact:name>bridgedReceiverOffset</ipxact:name> + <ipxact:displayName>Bridged receiver offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToReceiver" type="string"> + <ipxact:name>bridgesToReceiver</ipxact:name> + <ipxact:displayName>Bridges to receiver</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="irqScheme" type="string"> + <ipxact:name>irqScheme</ipxact:name> + <ipxact:displayName>Interrupt scheme</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>altera_avalon_jtag_uart</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>rst_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_chipselect</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_read_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_write_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_waitrequest</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>av_irq</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_jtag_uart_0</ipxact:library> + <ipxact:name>altera_avalon_jtag_uart</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="allowMultipleConnections" type="bit"> + <ipxact:name>allowMultipleConnections</ipxact:name> + <ipxact:displayName>Allow multiple connections to Avalon JTAG slave</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hubInstanceID" type="int"> + <ipxact:name>hubInstanceID</ipxact:name> + <ipxact:displayName>hubInstanceID</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readBufferDepth" type="int"> + <ipxact:name>readBufferDepth</ipxact:name> + <ipxact:displayName>Buffer depth (bytes)</ipxact:displayName> + <ipxact:value>64</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readIRQThreshold" type="int"> + <ipxact:name>readIRQThreshold</ipxact:name> + <ipxact:displayName>IRQ threshold</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="simInputCharacterStream" type="string"> + <ipxact:name>simInputCharacterStream</ipxact:name> + <ipxact:displayName>Contents</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="simInteractiveOptions" type="string"> + <ipxact:name>simInteractiveOptions</ipxact:name> + <ipxact:displayName>Options</ipxact:displayName> + <ipxact:value>NO_INTERACTIVE_WINDOWS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="useRegistersForReadBuffer" type="bit"> + <ipxact:name>useRegistersForReadBuffer</ipxact:name> + <ipxact:displayName>Construct using registers instead of memory blocks</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="useRegistersForWriteBuffer" type="bit"> + <ipxact:name>useRegistersForWriteBuffer</ipxact:name> + <ipxact:displayName>Construct using registers instead of memory blocks</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="useRelativePathForSimFile" type="bit"> + <ipxact:name>useRelativePathForSimFile</ipxact:name> + <ipxact:displayName>useRelativePathForSimFile</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeBufferDepth" type="int"> + <ipxact:name>writeBufferDepth</ipxact:name> + <ipxact:displayName>Buffer depth (bytes)</ipxact:displayName> + <ipxact:value>64</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeIRQThreshold" type="int"> + <ipxact:name>writeIRQThreshold</ipxact:name> + <ipxact:displayName>IRQ threshold</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clkFreq" type="longint"> + <ipxact:name>clkFreq</ipxact:name> + <ipxact:displayName>clkFreq</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="avalonSpec" type="string"> + <ipxact:name>avalonSpec</ipxact:name> + <ipxact:displayName>avalonSpec</ipxact:displayName> + <ipxact:value>2.0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="legacySignalAllow" type="bit"> + <ipxact:name>legacySignalAllow</ipxact:name> + <ipxact:displayName>legacySignalAllow</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="enableInteractiveInput" type="bit"> + <ipxact:name>enableInteractiveInput</ipxact:name> + <ipxact:displayName>enableInteractiveInput</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="enableInteractiveOutput" type="bit"> + <ipxact:name>enableInteractiveOutput</ipxact:name> + <ipxact:displayName>enableInteractiveOutput</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.CMacro.READ_DEPTH" type="string"> + <ipxact:name>embeddedsw.CMacro.READ_DEPTH</ipxact:name> + <ipxact:value>64</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.READ_THRESHOLD" type="string"> + <ipxact:name>embeddedsw.CMacro.READ_THRESHOLD</ipxact:name> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.WRITE_DEPTH" type="string"> + <ipxact:name>embeddedsw.CMacro.WRITE_DEPTH</ipxact:name> + <ipxact:value>64</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.WRITE_THRESHOLD" type="string"> + <ipxact:name>embeddedsw.CMacro.WRITE_THRESHOLD</ipxact:name> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.compatible" type="string"> + <ipxact:name>embeddedsw.dts.compatible</ipxact:name> + <ipxact:value>altr,juart-1.0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.group" type="string"> + <ipxact:name>embeddedsw.dts.group</ipxact:name> + <ipxact:value>serial</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.name" type="string"> + <ipxact:name>embeddedsw.dts.name</ipxact:name> + <ipxact:value>juart</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.vendor" type="string"> + <ipxact:name>embeddedsw.dts.vendor</ipxact:name> + <ipxact:value>altr</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element jtag_uart_0 + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><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> + </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> + </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> + </port> + <port> + <name>av_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_read_n</name> + <role>read_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>av_write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>av_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </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> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>qsys_lofar2_unb2c_ddrctrl_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></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><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>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="avalon_jtag_slave" altera:internal="jtag_uart_0.avalon_jtag_slave" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="av_address" altera:internal="av_address"></altera:port_mapping> + <altera:port_mapping altera:name="av_chipselect" altera:internal="av_chipselect"></altera:port_mapping> + <altera:port_mapping altera:name="av_read_n" altera:internal="av_read_n"></altera:port_mapping> + <altera:port_mapping altera:name="av_readdata" altera:internal="av_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="av_waitrequest" altera:internal="av_waitrequest"></altera:port_mapping> + <altera:port_mapping altera:name="av_write_n" altera:internal="av_write_n"></altera:port_mapping> + <altera:port_mapping altera:name="av_writedata" altera:internal="av_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="jtag_uart_0.clk" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="clk" altera:internal="clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="irq" altera:internal="jtag_uart_0.irq" altera:type="interrupt" altera:dir="end"> + <altera:port_mapping altera:name="av_irq" altera:internal="av_irq"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="jtag_uart_0.reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="rst_n" altera:internal="rst_n"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.ip new file mode 100644 index 0000000000..e1b2e586a5 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.ip @@ -0,0 +1,3700 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0</ipxact:library> + <ipxact:name>nios2_gen2_0</ipxact:name> + <ipxact:version>19.1</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_req</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_req</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>data_master</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>byteenable</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_byteenable</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>waitrequest</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_waitrequest</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>d_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>debugaccess</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_debugaccess_to_roms</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="adaptsTo" type="string"> + <ipxact:name>adaptsTo</ipxact:name> + <ipxact:displayName>Adapts to</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>SYMBOLS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dBSBigEndian" type="bit"> + <ipxact:name>dBSBigEndian</ipxact:name> + <ipxact:displayName>dBS big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="doStreamReads" type="bit"> + <ipxact:name>doStreamReads</ipxact:name> + <ipxact:displayName>Use flow control for read transfers</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="doStreamWrites" type="bit"> + <ipxact:name>doStreamWrites</ipxact:name> + <ipxact:displayName>Use flow control for write transfers</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isAsynchronous" type="bit"> + <ipxact:name>isAsynchronous</ipxact:name> + <ipxact:displayName>Is asynchronous</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Is big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isReadable" type="bit"> + <ipxact:name>isReadable</ipxact:name> + <ipxact:displayName>Is readable</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isWriteable" type="bit"> + <ipxact:name>isWriteable</ipxact:name> + <ipxact:displayName>Is writeable</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maxAddressWidth" type="int"> + <ipxact:name>maxAddressWidth</ipxact:name> + <ipxact:displayName>Maximum address width</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="debug.providesServices" type="string"> + <ipxact:name>debug.providesServices</ipxact:name> + <ipxact:value>master</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>instruction_master</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>i_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>i_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>i_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>waitrequest</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>i_waitrequest</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="adaptsTo" type="string"> + <ipxact:name>adaptsTo</ipxact:name> + <ipxact:displayName>Adapts to</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>SYMBOLS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dBSBigEndian" type="bit"> + <ipxact:name>dBSBigEndian</ipxact:name> + <ipxact:displayName>dBS big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="doStreamReads" type="bit"> + <ipxact:name>doStreamReads</ipxact:name> + <ipxact:displayName>Use flow control for read transfers</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="doStreamWrites" type="bit"> + <ipxact:name>doStreamWrites</ipxact:name> + <ipxact:displayName>Use flow control for write transfers</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isAsynchronous" type="bit"> + <ipxact:name>isAsynchronous</ipxact:name> + <ipxact:displayName>Is asynchronous</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Is big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isReadable" type="bit"> + <ipxact:name>isReadable</ipxact:name> + <ipxact:displayName>Is readable</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isWriteable" type="bit"> + <ipxact:name>isWriteable</ipxact:name> + <ipxact:displayName>Is writeable</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maxAddressWidth" type="int"> + <ipxact:name>maxAddressWidth</ipxact:name> + <ipxact:displayName>Maximum address width</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>irq</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>irq</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>irq</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedAddressablePoint" type="string"> + <ipxact:name>associatedAddressablePoint</ipxact:name> + <ipxact:displayName>Associated addressable interface</ipxact:displayName> + <ipxact:value>qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.data_master</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="irqMap" type="string"> + <ipxact:name>irqMap</ipxact:name> + <ipxact:displayName>IRQ Map</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="irqScheme" type="string"> + <ipxact:name>irqScheme</ipxact:name> + <ipxact:displayName>Interrupt scheme</ipxact:displayName> + <ipxact:value>INDIVIDUAL_REQUESTS</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>debug_reset_request</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_reset_request</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedDirectReset" type="string"> + <ipxact:name>associatedDirectReset</ipxact:name> + <ipxact:displayName>Associated direct reset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedResetSinks" type="string"> + <ipxact:name>associatedResetSinks</ipxact:name> + <ipxact:displayName>Associated reset sinks</ipxact:displayName> + <ipxact:value>none</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>debug_mem_slave</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>byteenable</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_byteenable</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>debugaccess</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_debugaccess</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>waitrequest</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_waitrequest</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>debug_mem_slave_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>2048</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.hideDevice" type="string"> + <ipxact:name>embeddedsw.configuration.hideDevice</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="qsys.ui.connect" type="string"> + <ipxact:name>qsys.ui.connect</ipxact:name> + <ipxact:value>instruction_master,data_master</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>custom_instruction_master</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="nios_custom_instruction" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="nios_custom_instruction" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readra</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>dummy_ci_port</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:master></ipxact:master> + <ipxact:parameters> + <ipxact:parameter parameterId="CIName" type="string"> + <ipxact:name>CIName</ipxact:name> + <ipxact:displayName>CIName</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressWidth" type="int"> + <ipxact:name>addressWidth</ipxact:name> + <ipxact:displayName>addressWidth</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clockCycle" type="int"> + <ipxact:name>clockCycle</ipxact:name> + <ipxact:displayName>Clock cycles</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="enabled" type="bit"> + <ipxact:name>enabled</ipxact:name> + <ipxact:displayName>enabled</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maxAddressWidth" type="int"> + <ipxact:name>maxAddressWidth</ipxact:name> + <ipxact:displayName>maxAddressWidth</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="opcodeExtension" type="int"> + <ipxact:name>opcodeExtension</ipxact:name> + <ipxact:displayName>opcodeExtension</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="sharedCombinationalAndMulticycle" type="bit"> + <ipxact:name>sharedCombinationalAndMulticycle</ipxact:name> + <ipxact:displayName>sharedCombinationalAndMulticycle</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>altera_nios2_gen2</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_req</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>17</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_byteenable</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_waitrequest</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>d_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_debugaccess_to_roms</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>i_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>17</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>i_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>i_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>i_waitrequest</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>irq</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_reset_request</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>8</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_byteenable</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_debugaccess</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_waitrequest</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>debug_mem_slave_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>dummy_ci_port</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0</ipxact:library> + <ipxact:name>altera_nios2_gen2</ipxact:name> + <ipxact:version>19.1</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="tmr_enabled" type="bit"> + <ipxact:name>tmr_enabled</ipxact:name> + <ipxact:displayName>Nios II Triple Mode Redundancy</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_disable_tmr_inj" type="bit"> + <ipxact:name>setting_disable_tmr_inj</ipxact:name> + <ipxact:displayName>Disabled TMR Error Injection Port</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_showUnpublishedSettings" type="bit"> + <ipxact:name>setting_showUnpublishedSettings</ipxact:name> + <ipxact:displayName>Show Unpublished Settings</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_showInternalSettings" type="bit"> + <ipxact:name>setting_showInternalSettings</ipxact:name> + <ipxact:displayName>Show Internal Verification Settings</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_preciseIllegalMemAccessException" type="bit"> + <ipxact:name>setting_preciseIllegalMemAccessException</ipxact:name> + <ipxact:displayName>Misaligned memory access</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_exportPCB" type="bit"> + <ipxact:name>setting_exportPCB</ipxact:name> + <ipxact:displayName>setting_exportPCB</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_exportdebuginfo" type="bit"> + <ipxact:name>setting_exportdebuginfo</ipxact:name> + <ipxact:displayName>Export Instruction Execution States</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_clearXBitsLDNonBypass" type="bit"> + <ipxact:name>setting_clearXBitsLDNonBypass</ipxact:name> + <ipxact:displayName>Clear X data bits</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_bigEndian" type="bit"> + <ipxact:name>setting_bigEndian</ipxact:name> + <ipxact:displayName>setting_bigEndian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_export_large_RAMs" type="bit"> + <ipxact:name>setting_export_large_RAMs</ipxact:name> + <ipxact:displayName>Export Large RAMs</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_asic_enabled" type="bit"> + <ipxact:name>setting_asic_enabled</ipxact:name> + <ipxact:displayName>ASIC enabled</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="register_file_por" type="bit"> + <ipxact:name>register_file_por</ipxact:name> + <ipxact:displayName>Register File POR</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_asic_synopsys_translate_on_off" type="bit"> + <ipxact:name>setting_asic_synopsys_translate_on_off</ipxact:name> + <ipxact:displayName>ASIC Synopsys translate</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_asic_third_party_synthesis" type="bit"> + <ipxact:name>setting_asic_third_party_synthesis</ipxact:name> + <ipxact:displayName>ASIC third party synthesis</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_asic_add_scan_mode_input" type="bit"> + <ipxact:name>setting_asic_add_scan_mode_input</ipxact:name> + <ipxact:displayName>ASIC add scan mode input</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_oci_version" type="int"> + <ipxact:name>setting_oci_version</ipxact:name> + <ipxact:displayName>Nios II OCI Version</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_fast_register_read" type="bit"> + <ipxact:name>setting_fast_register_read</ipxact:name> + <ipxact:displayName>Fast Register Read</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_exportHostDebugPort" type="bit"> + <ipxact:name>setting_exportHostDebugPort</ipxact:name> + <ipxact:displayName>Export Debug Host Slave</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_oci_export_jtag_signals" type="bit"> + <ipxact:name>setting_oci_export_jtag_signals</ipxact:name> + <ipxact:displayName>Export JTAG signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_avalonDebugPortPresent" type="bit"> + <ipxact:name>setting_avalonDebugPortPresent</ipxact:name> + <ipxact:displayName>Avalon Debug Port Present</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_alwaysEncrypt" type="bit"> + <ipxact:name>setting_alwaysEncrypt</ipxact:name> + <ipxact:displayName>Always encrypt</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="io_regionbase" type="int"> + <ipxact:name>io_regionbase</ipxact:name> + <ipxact:displayName>Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="io_regionsize" type="int"> + <ipxact:name>io_regionsize</ipxact:name> + <ipxact:displayName>Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_support31bitdcachebypass" type="bit"> + <ipxact:name>setting_support31bitdcachebypass</ipxact:name> + <ipxact:displayName>Use most-significant address bit in processor to bypass data cache</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_activateTrace" type="bit"> + <ipxact:name>setting_activateTrace</ipxact:name> + <ipxact:displayName>Generate trace file during RTL simulation</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_allow_break_inst" type="bit"> + <ipxact:name>setting_allow_break_inst</ipxact:name> + <ipxact:displayName>Allow Break instructions</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_activateTestEndChecker" type="bit"> + <ipxact:name>setting_activateTestEndChecker</ipxact:name> + <ipxact:displayName>Activate test end checker</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_ecc_sim_test_ports" type="bit"> + <ipxact:name>setting_ecc_sim_test_ports</ipxact:name> + <ipxact:displayName>Enable ECC simulation test ports</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_disableocitrace" type="bit"> + <ipxact:name>setting_disableocitrace</ipxact:name> + <ipxact:displayName>Disable comptr generation</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_activateMonitors" type="bit"> + <ipxact:name>setting_activateMonitors</ipxact:name> + <ipxact:displayName>Activate monitors</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_HDLSimCachesCleared" type="bit"> + <ipxact:name>setting_HDLSimCachesCleared</ipxact:name> + <ipxact:displayName>HDL simulation caches cleared</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_HBreakTest" type="bit"> + <ipxact:name>setting_HBreakTest</ipxact:name> + <ipxact:displayName>Add HBreak Request port</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_breakslaveoveride" type="bit"> + <ipxact:name>setting_breakslaveoveride</ipxact:name> + <ipxact:displayName>Manually assign break slave</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpu_useLimit" type="bit"> + <ipxact:name>mpu_useLimit</ipxact:name> + <ipxact:displayName>Use Limit for region range</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpu_enabled" type="bit"> + <ipxact:name>mpu_enabled</ipxact:name> + <ipxact:displayName>Include MPU</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_enabled" type="bit"> + <ipxact:name>mmu_enabled</ipxact:name> + <ipxact:displayName>Include MMU</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_autoAssignTlbPtrSz" type="bit"> + <ipxact:name>mmu_autoAssignTlbPtrSz</ipxact:name> + <ipxact:displayName>Optimize TLB entries base on device family</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="cpuReset" type="bit"> + <ipxact:name>cpuReset</ipxact:name> + <ipxact:displayName>Include cpu_resetrequest and cpu_resettaken signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetrequest_enabled" type="bit"> + <ipxact:name>resetrequest_enabled</ipxact:name> + <ipxact:displayName>Include reset_req signal for OCI RAM and Multi-Cycle Custom Instructions</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_removeRAMinit" type="bit"> + <ipxact:name>setting_removeRAMinit</ipxact:name> + <ipxact:displayName>Remove RAM Initialization</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_tmr_output_disable" type="bit"> + <ipxact:name>setting_tmr_output_disable</ipxact:name> + <ipxact:displayName>Create a signal to disable TMR outputs</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_shadowRegisterSets" type="int"> + <ipxact:name>setting_shadowRegisterSets</ipxact:name> + <ipxact:displayName>Number of shadow register sets (0-63)</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpu_numOfInstRegion" type="int"> + <ipxact:name>mpu_numOfInstRegion</ipxact:name> + <ipxact:displayName> Number of instruction regions</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpu_numOfDataRegion" type="int"> + <ipxact:name>mpu_numOfDataRegion</ipxact:name> + <ipxact:displayName> Number of data regions</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_TLBMissExcOffset" type="int"> + <ipxact:name>mmu_TLBMissExcOffset</ipxact:name> + <ipxact:displayName>Fast TLB Miss Exception vector offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetOffset" type="int"> + <ipxact:name>resetOffset</ipxact:name> + <ipxact:displayName>Reset vector offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="exceptionOffset" type="int"> + <ipxact:name>exceptionOffset</ipxact:name> + <ipxact:displayName>Exception vector offset</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="cpuID" type="int"> + <ipxact:name>cpuID</ipxact:name> + <ipxact:displayName>CPUID control register value</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="breakOffset" type="int"> + <ipxact:name>breakOffset</ipxact:name> + <ipxact:displayName>Break vector offset</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="userDefinedSettings" type="string"> + <ipxact:name>userDefinedSettings</ipxact:name> + <ipxact:displayName>User Defined Settings</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tracefilename" type="string"> + <ipxact:name>tracefilename</ipxact:name> + <ipxact:displayName>Trace File Name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetSlave" type="string"> + <ipxact:name>resetSlave</ipxact:name> + <ipxact:displayName>Reset vector memory</ipxact:displayName> + <ipxact:value>onchip_memory2_0.s1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_TLBMissExcSlave" type="string"> + <ipxact:name>mmu_TLBMissExcSlave</ipxact:name> + <ipxact:displayName>Fast TLB Miss Exception vector memory</ipxact:displayName> + <ipxact:value>None</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="exceptionSlave" type="string"> + <ipxact:name>exceptionSlave</ipxact:name> + <ipxact:displayName>Exception vector memory</ipxact:displayName> + <ipxact:value>onchip_memory2_0.s1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="breakSlave" type="string"> + <ipxact:name>breakSlave</ipxact:name> + <ipxact:displayName>Break vector memory</ipxact:displayName> + <ipxact:value>None</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_interruptControllerType" type="string"> + <ipxact:name>setting_interruptControllerType</ipxact:name> + <ipxact:displayName>Interrupt controller</ipxact:displayName> + <ipxact:value>Internal</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_branchpredictiontype" type="string"> + <ipxact:name>setting_branchpredictiontype</ipxact:name> + <ipxact:displayName>Branch prediction type</ipxact:displayName> + <ipxact:value>Dynamic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_bhtPtrSz" type="int"> + <ipxact:name>setting_bhtPtrSz</ipxact:name> + <ipxact:displayName> Number of entries (2-bits wide)</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="cpuArchRev" type="int"> + <ipxact:name>cpuArchRev</ipxact:name> + <ipxact:displayName>Architecture Revision</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="stratix_dspblock_shift_mul" type="bit"> + <ipxact:name>stratix_dspblock_shift_mul</ipxact:name> + <ipxact:displayName>stratix_dspblock_shift_mul</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="shifterType" type="string"> + <ipxact:name>shifterType</ipxact:name> + <ipxact:displayName>shifterType</ipxact:displayName> + <ipxact:value>medium_le_shift</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="multiplierType" type="string"> + <ipxact:name>multiplierType</ipxact:name> + <ipxact:displayName>multiplierType</ipxact:displayName> + <ipxact:value>no_mul</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mul_shift_choice" type="int"> + <ipxact:name>mul_shift_choice</ipxact:name> + <ipxact:displayName>Multiply/Shift/Rotate Hardware</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mul_32_impl" type="int"> + <ipxact:name>mul_32_impl</ipxact:name> + <ipxact:displayName>Multiply Implementation</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mul_64_impl" type="int"> + <ipxact:name>mul_64_impl</ipxact:name> + <ipxact:displayName>Multiply Extended Implementation</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="shift_rot_impl" type="int"> + <ipxact:name>shift_rot_impl</ipxact:name> + <ipxact:displayName>Shift/Rotate Implementation</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dividerType" type="string"> + <ipxact:name>dividerType</ipxact:name> + <ipxact:displayName>Divide Hardware</ipxact:displayName> + <ipxact:value>no_div</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpu_minInstRegionSize" type="int"> + <ipxact:name>mpu_minInstRegionSize</ipxact:name> + <ipxact:displayName> Minimum instruction region size</ipxact:displayName> + <ipxact:value>12</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpu_minDataRegionSize" type="int"> + <ipxact:name>mpu_minDataRegionSize</ipxact:name> + <ipxact:displayName> Minimum data region size</ipxact:displayName> + <ipxact:value>12</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_uitlbNumEntries" type="int"> + <ipxact:name>mmu_uitlbNumEntries</ipxact:name> + <ipxact:displayName> Micro ITLB entries</ipxact:displayName> + <ipxact:value>4</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_udtlbNumEntries" type="int"> + <ipxact:name>mmu_udtlbNumEntries</ipxact:name> + <ipxact:displayName> Micro DTLB entries</ipxact:displayName> + <ipxact:value>6</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_tlbPtrSz" type="int"> + <ipxact:name>mmu_tlbPtrSz</ipxact:name> + <ipxact:displayName> TLB entries</ipxact:displayName> + <ipxact:value>7</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_tlbNumWays" type="int"> + <ipxact:name>mmu_tlbNumWays</ipxact:name> + <ipxact:displayName> TLB Set-Associativity</ipxact:displayName> + <ipxact:value>16</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_processIDNumBits" type="int"> + <ipxact:name>mmu_processIDNumBits</ipxact:name> + <ipxact:displayName> Process ID (PID) bits</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="impl" type="string"> + <ipxact:name>impl</ipxact:name> + <ipxact:displayName>Nios II Core</ipxact:displayName> + <ipxact:value>Tiny</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="icache_size" type="int"> + <ipxact:name>icache_size</ipxact:name> + <ipxact:displayName>Size</ipxact:displayName> + <ipxact:value>2048</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="fa_cache_line" type="int"> + <ipxact:name>fa_cache_line</ipxact:name> + <ipxact:displayName>Number of Cache Lines</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="fa_cache_linesize" type="int"> + <ipxact:name>fa_cache_linesize</ipxact:name> + <ipxact:displayName>Line Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="icache_tagramBlockType" type="string"> + <ipxact:name>icache_tagramBlockType</ipxact:name> + <ipxact:displayName>Tag RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="icache_ramBlockType" type="string"> + <ipxact:name>icache_ramBlockType</ipxact:name> + <ipxact:displayName>Data RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="icache_numTCIM" type="int"> + <ipxact:name>icache_numTCIM</ipxact:name> + <ipxact:displayName>Number of tightly coupled instruction master ports</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="icache_burstType" type="string"> + <ipxact:name>icache_burstType</ipxact:name> + <ipxact:displayName>Add burstcount signal to instruction_master</ipxact:displayName> + <ipxact:value>None</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_bursts" type="string"> + <ipxact:name>dcache_bursts</ipxact:name> + <ipxact:displayName>Add burstcount signal to data_master</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_victim_buf_impl" type="string"> + <ipxact:name>dcache_victim_buf_impl</ipxact:name> + <ipxact:displayName>Victim buffer implementation</ipxact:displayName> + <ipxact:value>ram</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_size" type="int"> + <ipxact:name>dcache_size</ipxact:name> + <ipxact:displayName>Size</ipxact:displayName> + <ipxact:value>2048</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_tagramBlockType" type="string"> + <ipxact:name>dcache_tagramBlockType</ipxact:name> + <ipxact:displayName>Tag RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_ramBlockType" type="string"> + <ipxact:name>dcache_ramBlockType</ipxact:name> + <ipxact:displayName>Data RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_numTCDM" type="int"> + <ipxact:name>dcache_numTCDM</ipxact:name> + <ipxact:displayName>Number of tightly coupled data master ports</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_exportvectors" type="bit"> + <ipxact:name>setting_exportvectors</ipxact:name> + <ipxact:displayName>Export Vectors</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_usedesignware" type="bit"> + <ipxact:name>setting_usedesignware</ipxact:name> + <ipxact:displayName>Use Designware Components</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_ecc_present" type="bit"> + <ipxact:name>setting_ecc_present</ipxact:name> + <ipxact:displayName>ECC Present</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_ic_ecc_present" type="bit"> + <ipxact:name>setting_ic_ecc_present</ipxact:name> + <ipxact:displayName>Instruction Cache ECC Present</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_rf_ecc_present" type="bit"> + <ipxact:name>setting_rf_ecc_present</ipxact:name> + <ipxact:displayName>Register File ECC Present</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_mmu_ecc_present" type="bit"> + <ipxact:name>setting_mmu_ecc_present</ipxact:name> + <ipxact:displayName>MMU ECC Present</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_dc_ecc_present" type="bit"> + <ipxact:name>setting_dc_ecc_present</ipxact:name> + <ipxact:displayName>Data Cache ECC Present</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_itcm_ecc_present" type="bit"> + <ipxact:name>setting_itcm_ecc_present</ipxact:name> + <ipxact:displayName>Instruction TCM ECC Present</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_dtcm_ecc_present" type="bit"> + <ipxact:name>setting_dtcm_ecc_present</ipxact:name> + <ipxact:displayName>Data TCM ECC Present</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="regfile_ramBlockType" type="string"> + <ipxact:name>regfile_ramBlockType</ipxact:name> + <ipxact:displayName>RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ocimem_ramBlockType" type="string"> + <ipxact:name>ocimem_ramBlockType</ipxact:name> + <ipxact:displayName>RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ocimem_ramInit" type="bit"> + <ipxact:name>ocimem_ramInit</ipxact:name> + <ipxact:displayName>Initialized OCI RAM</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_ramBlockType" type="string"> + <ipxact:name>mmu_ramBlockType</ipxact:name> + <ipxact:displayName> MMU RAM block type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bht_ramBlockType" type="string"> + <ipxact:name>bht_ramBlockType</ipxact:name> + <ipxact:displayName>BHT RAM Block Type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="cdx_enabled" type="bit"> + <ipxact:name>cdx_enabled</ipxact:name> + <ipxact:displayName>CDX (Code Density eXtension) Instructions</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mpx_enabled" type="bit"> + <ipxact:name>mpx_enabled</ipxact:name> + <ipxact:displayName>mpx_enabled</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_enabled" type="bit"> + <ipxact:name>debug_enabled</ipxact:name> + <ipxact:displayName>Include JTAG Debug</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_triggerArming" type="bit"> + <ipxact:name>debug_triggerArming</ipxact:name> + <ipxact:displayName>Trigger Arming</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_debugReqSignals" type="bit"> + <ipxact:name>debug_debugReqSignals</ipxact:name> + <ipxact:displayName>Include debugreq and debugack Signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_assignJtagInstanceID" type="bit"> + <ipxact:name>debug_assignJtagInstanceID</ipxact:name> + <ipxact:displayName>Assign JTAG Instance ID for debug core manually</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_jtagInstanceID" type="int"> + <ipxact:name>debug_jtagInstanceID</ipxact:name> + <ipxact:displayName>JTAG Instance ID value</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_OCIOnchipTrace" type="string"> + <ipxact:name>debug_OCIOnchipTrace</ipxact:name> + <ipxact:displayName>Onchip Trace Frame Size</ipxact:displayName> + <ipxact:value>_128</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_hwbreakpoint" type="int"> + <ipxact:name>debug_hwbreakpoint</ipxact:name> + <ipxact:displayName>Hardware Breakpoints</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_datatrigger" type="int"> + <ipxact:name>debug_datatrigger</ipxact:name> + <ipxact:displayName>Data Triggers</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_traceType" type="string"> + <ipxact:name>debug_traceType</ipxact:name> + <ipxact:displayName>Trace Types</ipxact:displayName> + <ipxact:value>none</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_traceStorage" type="string"> + <ipxact:name>debug_traceStorage</ipxact:name> + <ipxact:displayName>Trace Storage</ipxact:displayName> + <ipxact:value>onchip_trace</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="master_addr_map" type="bit"> + <ipxact:name>master_addr_map</ipxact:name> + <ipxact:displayName>Manually Set Master Base Address and Size</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instruction_master_paddr_base" type="int"> + <ipxact:name>instruction_master_paddr_base</ipxact:name> + <ipxact:displayName>Instruction Master Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instruction_master_paddr_size" type="longint"> + <ipxact:name>instruction_master_paddr_size</ipxact:name> + <ipxact:displayName>Instruction Master Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="flash_instruction_master_paddr_base" type="int"> + <ipxact:name>flash_instruction_master_paddr_base</ipxact:name> + <ipxact:displayName>Flash Instruction Master Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="flash_instruction_master_paddr_size" type="longint"> + <ipxact:name>flash_instruction_master_paddr_size</ipxact:name> + <ipxact:displayName>Flash Instruction Master Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="data_master_paddr_base" type="int"> + <ipxact:name>data_master_paddr_base</ipxact:name> + <ipxact:displayName>Data Master Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="data_master_paddr_size" type="longint"> + <ipxact:name>data_master_paddr_size</ipxact:name> + <ipxact:displayName>Data Master Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_0_paddr_base" type="int"> + <ipxact:name>tightly_coupled_instruction_master_0_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 0 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_0_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_instruction_master_0_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 0 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_1_paddr_base" type="int"> + <ipxact:name>tightly_coupled_instruction_master_1_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 1 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_1_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_instruction_master_1_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 1 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_2_paddr_base" type="int"> + <ipxact:name>tightly_coupled_instruction_master_2_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 2 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_2_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_instruction_master_2_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 2 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_3_paddr_base" type="int"> + <ipxact:name>tightly_coupled_instruction_master_3_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 3 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_instruction_master_3_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_instruction_master_3_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Instruction Master 3 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_0_paddr_base" type="int"> + <ipxact:name>tightly_coupled_data_master_0_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 0 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_0_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_data_master_0_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 0 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_1_paddr_base" type="int"> + <ipxact:name>tightly_coupled_data_master_1_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 1 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_1_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_data_master_1_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 1 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_2_paddr_base" type="int"> + <ipxact:name>tightly_coupled_data_master_2_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 2 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_2_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_data_master_2_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 2 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_3_paddr_base" type="int"> + <ipxact:name>tightly_coupled_data_master_3_paddr_base</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 3 Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightly_coupled_data_master_3_paddr_size" type="longint"> + <ipxact:name>tightly_coupled_data_master_3_paddr_size</ipxact:name> + <ipxact:displayName>Tightly coupled Data Master 3 Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instruction_master_high_performance_paddr_base" type="int"> + <ipxact:name>instruction_master_high_performance_paddr_base</ipxact:name> + <ipxact:displayName>Instruction Master High Performance Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instruction_master_high_performance_paddr_size" type="longint"> + <ipxact:name>instruction_master_high_performance_paddr_size</ipxact:name> + <ipxact:displayName>Instruction Master High Performance Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="data_master_high_performance_paddr_base" type="int"> + <ipxact:name>data_master_high_performance_paddr_base</ipxact:name> + <ipxact:displayName>Data Master High Performance Base Address</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="data_master_high_performance_paddr_size" type="longint"> + <ipxact:name>data_master_high_performance_paddr_size</ipxact:name> + <ipxact:displayName>Data Master High Performance Size</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetAbsoluteAddr" type="int"> + <ipxact:name>resetAbsoluteAddr</ipxact:name> + <ipxact:displayName>Reset vector</ipxact:displayName> + <ipxact:value>131072</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="exceptionAbsoluteAddr" type="int"> + <ipxact:name>exceptionAbsoluteAddr</ipxact:name> + <ipxact:displayName>Exception vector</ipxact:displayName> + <ipxact:value>131104</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="breakAbsoluteAddr" type="int"> + <ipxact:name>breakAbsoluteAddr</ipxact:name> + <ipxact:displayName>Break vector</ipxact:displayName> + <ipxact:value>16416</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mmu_TLBMissExcAbsAddr" type="int"> + <ipxact:name>mmu_TLBMissExcAbsAddr</ipxact:name> + <ipxact:displayName>Fast TLB Miss Exception vector</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_bursts_derived" type="string"> + <ipxact:name>dcache_bursts_derived</ipxact:name> + <ipxact:displayName>dcache_bursts_derived</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_size_derived" type="int"> + <ipxact:name>dcache_size_derived</ipxact:name> + <ipxact:displayName>dcache_size_derived</ipxact:displayName> + <ipxact:value>2048</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="breakSlave_derived" type="string"> + <ipxact:name>breakSlave_derived</ipxact:name> + <ipxact:displayName>breakSlave_derived</ipxact:displayName> + <ipxact:value>cpu_0.debug_mem_slave</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dcache_lineSize_derived" type="int"> + <ipxact:name>dcache_lineSize_derived</ipxact:name> + <ipxact:displayName>dcache_lineSize_derived</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_ioregionBypassDCache" type="bit"> + <ipxact:name>setting_ioregionBypassDCache</ipxact:name> + <ipxact:displayName>setting_ioregionBypassDCache</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setting_bit31BypassDCache" type="bit"> + <ipxact:name>setting_bit31BypassDCache</ipxact:name> + <ipxact:displayName>setting_bit31BypassDCache</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="translate_on" type="string"> + <ipxact:name>translate_on</ipxact:name> + <ipxact:displayName>translate_on</ipxact:displayName> + <ipxact:value> "synthesis translate_on" </ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="translate_off" type="string"> + <ipxact:name>translate_off</ipxact:name> + <ipxact:displayName>translate_off</ipxact:displayName> + <ipxact:value> "synthesis translate_off" </ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_onchiptrace" type="bit"> + <ipxact:name>debug_onchiptrace</ipxact:name> + <ipxact:displayName>debug_onchiptrace</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_offchiptrace" type="bit"> + <ipxact:name>debug_offchiptrace</ipxact:name> + <ipxact:displayName>debug_offchiptrace</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_insttrace" type="bit"> + <ipxact:name>debug_insttrace</ipxact:name> + <ipxact:displayName>debug_insttrace</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="debug_datatrace" type="bit"> + <ipxact:name>debug_datatrace</ipxact:name> + <ipxact:displayName>debug_datatrace</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instAddrWidth" type="int"> + <ipxact:name>instAddrWidth</ipxact:name> + <ipxact:displayName>instAddrWidth</ipxact:displayName> + <ipxact:value>18</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="faAddrWidth" type="int"> + <ipxact:name>faAddrWidth</ipxact:name> + <ipxact:displayName>faAddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dataAddrWidth" type="int"> + <ipxact:name>dataAddrWidth</ipxact:name> + <ipxact:displayName>dataAddrWidth</ipxact:displayName> + <ipxact:value>18</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster0AddrWidth" type="int"> + <ipxact:name>tightlyCoupledDataMaster0AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster0AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster1AddrWidth" type="int"> + <ipxact:name>tightlyCoupledDataMaster1AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster1AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster2AddrWidth" type="int"> + <ipxact:name>tightlyCoupledDataMaster2AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster2AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster3AddrWidth" type="int"> + <ipxact:name>tightlyCoupledDataMaster3AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster3AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster0AddrWidth" type="int"> + <ipxact:name>tightlyCoupledInstructionMaster0AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster0AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster1AddrWidth" type="int"> + <ipxact:name>tightlyCoupledInstructionMaster1AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster1AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster2AddrWidth" type="int"> + <ipxact:name>tightlyCoupledInstructionMaster2AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster2AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster3AddrWidth" type="int"> + <ipxact:name>tightlyCoupledInstructionMaster3AddrWidth</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster3AddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dataMasterHighPerformanceAddrWidth" type="int"> + <ipxact:name>dataMasterHighPerformanceAddrWidth</ipxact:name> + <ipxact:displayName>dataMasterHighPerformanceAddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instructionMasterHighPerformanceAddrWidth" type="int"> + <ipxact:name>instructionMasterHighPerformanceAddrWidth</ipxact:name> + <ipxact:displayName>instructionMasterHighPerformanceAddrWidth</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instSlaveMapParam" type="string"> + <ipxact:name>instSlaveMapParam</ipxact:name> + <ipxact:displayName>instSlaveMapParam</ipxact:displayName> + <ipxact:value><address-map><slave name='cpu_0.debug_mem_slave' start='0x4000' end='0x4800' datawidth='32' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /></address-map></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="faSlaveMapParam" type="string"> + <ipxact:name>faSlaveMapParam</ipxact:name> + <ipxact:displayName>faSlaveMapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dataSlaveMapParam" type="string"> + <ipxact:name>dataSlaveMapParam</ipxact:name> + <ipxact:displayName>dataSlaveMapParam</ipxact:displayName> + <ipxact:value><address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /><slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /><slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /><slave name='timer_0.s1' start='0x100' end='0x120' datawidth='16' /><slave name='reg_epcs.mem' start='0x120' end='0x140' datawidth='32' /><slave name='reg_remu.mem' start='0x140' end='0x160' datawidth='32' /><slave name='reg_fpga_temp_sens.mem' start='0x160' end='0x180' datawidth='32' /><slave name='pio_wdi.s1' start='0x180' end='0x190' datawidth='32' /><slave name='pio_pps.mem' start='0x190' end='0x1A0' datawidth='32' /><slave name='reg_mmdp_data.mem' start='0x1A0' end='0x1A8' datawidth='32' /><slave name='reg_mmdp_ctrl.mem' start='0x1A8' end='0x1B0' datawidth='32' /><slave name='reg_dpmm_data.mem' start='0x1B0' end='0x1B8' datawidth='32' /><slave name='reg_dpmm_ctrl.mem' start='0x1B8' end='0x1C0' datawidth='32' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x1C0' end='0x1C8' datawidth='32' /><slave name='avs_eth_0.mms_tse' start='0x1000' end='0x2000' datawidth='32' /><slave name='avs_eth_0.mms_ram' start='0x2000' end='0x3000' datawidth='32' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /><slave name='ram_scrap.mem' start='0x3800' end='0x4000' datawidth='32' /><slave name='cpu_0.debug_mem_slave' start='0x4000' end='0x4800' datawidth='32' /><slave name='rom_system_info.mem' start='0x10000' end='0x18000' datawidth='32' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /></address-map></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster0MapParam" type="string"> + <ipxact:name>tightlyCoupledDataMaster0MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster0MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster1MapParam" type="string"> + <ipxact:name>tightlyCoupledDataMaster1MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster1MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster2MapParam" type="string"> + <ipxact:name>tightlyCoupledDataMaster2MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster2MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledDataMaster3MapParam" type="string"> + <ipxact:name>tightlyCoupledDataMaster3MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledDataMaster3MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster0MapParam" type="string"> + <ipxact:name>tightlyCoupledInstructionMaster0MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster0MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster1MapParam" type="string"> + <ipxact:name>tightlyCoupledInstructionMaster1MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster1MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster2MapParam" type="string"> + <ipxact:name>tightlyCoupledInstructionMaster2MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster2MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="tightlyCoupledInstructionMaster3MapParam" type="string"> + <ipxact:name>tightlyCoupledInstructionMaster3MapParam</ipxact:name> + <ipxact:displayName>tightlyCoupledInstructionMaster3MapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dataMasterHighPerformanceMapParam" type="string"> + <ipxact:name>dataMasterHighPerformanceMapParam</ipxact:name> + <ipxact:displayName>dataMasterHighPerformanceMapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instructionMasterHighPerformanceMapParam" type="string"> + <ipxact:name>instructionMasterHighPerformanceMapParam</ipxact:name> + <ipxact:displayName>instructionMasterHighPerformanceMapParam</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clockFrequency" type="longint"> + <ipxact:name>clockFrequency</ipxact:name> + <ipxact:displayName>clockFrequency</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamilyName" type="string"> + <ipxact:name>deviceFamilyName</ipxact:name> + <ipxact:displayName>deviceFamilyName</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="internalIrqMaskSystemInfo" type="longint"> + <ipxact:name>internalIrqMaskSystemInfo</ipxact:name> + <ipxact:displayName>internalIrqMaskSystemInfo</ipxact:displayName> + <ipxact:value>7</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="customInstSlavesSystemInfo" type="string"> + <ipxact:name>customInstSlavesSystemInfo</ipxact:name> + <ipxact:displayName>customInstSlavesSystemInfo</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="customInstSlavesSystemInfo_nios_a" type="string"> + <ipxact:name>customInstSlavesSystemInfo_nios_a</ipxact:name> + <ipxact:displayName>customInstSlavesSystemInfo_nios_a</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="customInstSlavesSystemInfo_nios_b" type="string"> + <ipxact:name>customInstSlavesSystemInfo_nios_b</ipxact:name> + <ipxact:displayName>customInstSlavesSystemInfo_nios_b</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="customInstSlavesSystemInfo_nios_c" type="string"> + <ipxact:name>customInstSlavesSystemInfo_nios_c</ipxact:name> + <ipxact:displayName>customInstSlavesSystemInfo_nios_c</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFeaturesSystemInfo" type="string"> + <ipxact:name>deviceFeaturesSystemInfo</ipxact:name> + <ipxact:displayName>deviceFeaturesSystemInfo</ipxact:displayName> + <ipxact:value>ADDRESS_STALL 0 ADVANCED_INFO 0 ALLOWS_COMPILING_OTHER_FAMILY_IP 0 ALLOW_DIFF_SUFFIX_MIGRATION 0 ASSERT_TIMING_ROUTING_DELAYS_HAS_ALL_EXPECTED_DATA 0 ASSERT_TIMING_ROUTING_DELAYS_NO_AUTOFILL 0 BLACKLISTS_HIERARCHIES 0 CELL_LEVEL_BACK_ANNOTATION_DISABLED 0 COMPILER_SUPPORT 1 DOES_NOT_SUPPORT_TIMING_MODELS_FOR_ROUTING_WIRES_WITH_ONLY_REDUNDANT_FANOUTS 1 DSP 1 DSP_SHIFTER_BLOCK 0 DUMP_ASM_LAB_BITS_FOR_POWER 0 EMUL 0 ENABLE_ADVANCED_IO_ANALYSIS_GUI_FEATURES 0 ENABLE_HIGH_SPEED_HSSI 0 ENABLE_PHYSICAL_DESIGN_PLANNER 0 ENABLE_PIN_PLANNER 0 ENGINEERING_SAMPLE 0 EPCS 0 ESB 0 FAKE1 0 FAKE2 0 FAKE3 0 FAMILY_LEVEL_INSTALLATION_ONLY 0 FASTEST 0 FINAL_TIMING_MODEL 0 FITTER_USE_FALLING_EDGE_DELAY 0 FM_REVB 0 FPP_COMPLETELY_PLACES_AND_ROUTES_PERIPHERY 1 GENERATE_DC_ON_CURRENT_WARNING_FOR_INTERNAL_CLAMPING_DIODE 0 HARDCOPY 0 HAS_18_BIT_MULTS 0 HAS_ACE_SUPPORT 1 HAS_ADJUSTABLE_OUTPUT_IO_TIMING_MEAS_POINT 0 HAS_ADVANCED_IO_INVERTED_CORNER 0 HAS_ADVANCED_IO_POWER_SUPPORT 0 HAS_ADVANCED_IO_TIMING_SUPPORT 1 HAS_ALM_SUPPORT 1 HAS_ATOM_AND_ROUTING_POWER_MODELED_TOGETHER 0 HAS_AUTO_DERIVE_CLOCK_UNCERTAINTY_SUPPORT 1 HAS_AUTO_FIT_SUPPORT 1 HAS_BALANCED_OPT_TECHNIQUE_SUPPORT 1 HAS_BCM_PIN_BASED_AIOT_SUPPORT 0 HAS_BENEFICIAL_SKEW_SUPPORT 0 HAS_BITLEVEL_DRIVE_STRENGTH_CONTROL 0 HAS_BSDL_FILE_GENERATION 0 HAS_CDB_RE_NETWORK_PRESERVATION_SUPPORT 1 HAS_CGA_SUPPORT 1 HAS_CHECK_NETLIST_SUPPORT 0 HAS_CLOCK_REGION_CHECKER_ENABLED 0 HAS_CORE_JUNCTION_TEMP_DERATING 0 HAS_CROSSTALK_SUPPORT 0 HAS_CROSS_FEATURE_VERTICAL_MIGRATION_SUPPORT 0 HAS_CUSTOM_REGION_SUPPORT 0 HAS_DAP_JTAG_FROM_HPS 0 HAS_DATA_DRIVEN_ACVQ_HSSI_SUPPORT 1 HAS_DDB_FDI_SUPPORT 1 HAS_DESIGN_ANALYZER_SUPPORT 0 HAS_DETAILED_LEIM_STATIC_POWER_MODEL 0 HAS_DETAILED_ROUTING_MUX_STATIC_POWER_MODEL 0 HAS_DETAILED_THERMAL_CIRCUIT_PARAMETER_SUPPORT 1 HAS_DEVICE_MIGRATION_SUPPORT 1 HAS_DIAGONAL_MIGRATION_SUPPORT 0 HAS_EMIF_TOOLKIT_SUPPORT 1 HAS_ERROR_DETECTION_SUPPORT 1 HAS_FAMILY_VARIANT_MIGRATION_SUPPORT 0 HAS_FANOUT_FREE_NODE_SUPPORT 1 HAS_FAST_FIT_SUPPORT 0 HAS_FITTER_ECO_SUPPORT 0 HAS_FIT_NETLIST_OPT_RETIME_SUPPORT 1 HAS_FIT_NETLIST_OPT_SUPPORT 1 HAS_FORMAL_VERIFICATION_SUPPORT 0 HAS_FPGA_XCHANGE_SUPPORT 0 HAS_FSAC_LUTRAM_REGISTER_PACKING_SUPPORT 1 HAS_FULL_DAT_MIN_TIMING_SUPPORT 1 HAS_FULL_INCREMENTAL_DESIGN_SUPPORT 1 HAS_FUNCTIONAL_SIMULATION_SUPPORT 0 HAS_FUNCTIONAL_VERILOG_SIMULATION_SUPPORT 1 HAS_FUNCTIONAL_VHDL_SIMULATION_SUPPORT 1 HAS_GLITCH_FILTERING_SUPPORT 1 HAS_HC_READY_SUPPORT 0 HAS_HIER_PARTIAL_RECONFIG_SUPPORT 1 HAS_HIGH_SPEED_LOW_POWER_TILE_SUPPORT 1 HAS_HOLD_TIME_AVOIDANCE_ACROSS_CLOCK_SPINE_SUPPORT 0 HAS_HSPICE_WRITER_SUPPORT 0 HAS_HSSI_BLOCK 0 HAS_IBISO_WRITER_SUPPORT 0 HAS_ICD_DATA_IP 1 HAS_IDB_SUPPORT 1 HAS_INCREMENTAL_DAT_SUPPORT 1 HAS_INCREMENTAL_SYNTHESIS_SUPPORT 1 HAS_IO_ASSIGNMENT_ANALYSIS_SUPPORT 1 HAS_IO_DECODER 0 HAS_IO_PLACEMENT_OPTIMIZATION_SUPPORT 0 HAS_IO_PLACEMENT_USING_GEOMETRY_RULE 0 HAS_IO_PLACEMENT_USING_PHYSIC_RULE 0 HAS_IO_SMART_RECOMPILE_SUPPORT 0 HAS_JITTER_SUPPORT 1 HAS_JTAG_SLD_HUB_SUPPORT 1 HAS_LAB_LATCHES 0 HAS_LEIM_RES_MERGED_IN_RR_GRAPH 1 HAS_LOGIC_LOCK_SUPPORT 1 HAS_MICROPROCESSOR 0 HAS_MIF_SMART_COMPILE_SUPPORT 1 HAS_MINMAX_TIMING_MODELING_SUPPORT 0 HAS_MIN_TIMING_ANALYSIS_SUPPORT 0 HAS_MUX_RESTRUCTURE_SUPPORT 1 HAS_NADDER_STYLE_CLOCKING 0 HAS_NADDER_STYLE_FF 0 HAS_NADDER_STYLE_LCELL_COMB 0 HAS_NEW_CDB_NAME_FOR_M20K_SCLR 0 HAS_NEW_HC_FLOW_SUPPORT 0 HAS_NEW_SERDES_MAX_RESOURCE_COUNT_REPORTING_SUPPORT 0 HAS_NONSOCKET_TECHNOLOGY_MIGRATION_SUPPORT 0 HAS_NO_HARDBLOCK_PARTITION_SUPPORT 1 HAS_NO_JTAG_USERCODE_SUPPORT 0 HAS_OPERATING_SETTINGS_AND_CONDITIONS_REPORTING_SUPPORT 1 HAS_PAD_LOCATION_ASSIGNMENT_SUPPORT 0 HAS_PARTIAL_RECONFIG_SUPPORT 1 HAS_PDN_MODEL_STATUS 1 HAS_PHYSICAL_DESIGN_PLANNER_SUPPORT 1 HAS_PHYSICAL_NETLIST_OUTPUT 0 HAS_PHYSICAL_ROUTING_SUPPORT 1 HAS_PLDM_REF_SUPPORT 0 HAS_POWER_ESTIMATION_SUPPORT 1 HAS_PRELIMINARY_CLOCK_UNCERTAINTY_NUMBERS 0 HAS_PRE_FITTER_FPP_SUPPORT 1 HAS_PRE_FITTER_LUTRAM_NETLIST_CHECKER_ENABLED 1 HAS_PVA_SUPPORT 1 HAS_QHD_INCREMENTAL_TIMING_CLOSURE_SUPPORT 1 HAS_QHD_IP_REUSE_INTEGRATION_SUPPORT 1 HAS_QHD_PARTITIONS_SUPPORT 1 HAS_QUARTUS_HIERARCHICAL_DESIGN_SUPPORT 1 HAS_RAPID_RECOMPILE_SUPPORT 1 HAS_RCF_SUPPORT 1 HAS_RCF_SUPPORT_FOR_DEBUGGING 0 HAS_RED_BLACK_SEPARATION_SUPPORT 0 HAS_REVC_IO 0 HAS_RE_LEVEL_TIMING_GRAPH_SUPPORT 1 HAS_RISEFALL_DELAY_SUPPORT 1 HAS_SIGNAL_PROBE_SUPPORT 0 HAS_SIGNAL_TAP_SUPPORT 1 HAS_SIMPLIFIED_PARTIAL_RECONFIG_SUPPORT 1 HAS_SIMULATOR_SUPPORT 0 HAS_SIP_TILE_SUPPORT 0 HAS_SPEED_GRADE_OFFSET 1 HAS_SPLIT_IO_SUPPORT 1 HAS_SPLIT_LC_SUPPORT 1 HAS_STRICT_PRESERVATION_SUPPORT 0 HAS_SYNTHESIS_ON_ATOMS 1 HAS_SYNTH_FSYN_NETLIST_OPT_SUPPORT 1 HAS_SYNTH_NETLIST_OPT_RETIME_SUPPORT 0 HAS_SYNTH_NETLIST_OPT_SUPPORT 1 HAS_TCL_FITTER_SUPPORT 1 HAS_TECHNOLOGY_MIGRATION_SUPPORT 0 HAS_TEMPLATED_REGISTER_PACKING_SUPPORT 1 HAS_TIME_BORROWING_SUPPORT 1 HAS_TIMING_DRIVEN_SYNTHESIS_SUPPORT 1 HAS_TIMING_INFO_SUPPORT 1 HAS_TIMING_OPERATING_CONDITIONS 1 HAS_TIMING_SIMULATION_SUPPORT 0 HAS_TITAN_BASED_MAC_REGISTER_PACKER_SUPPORT 0 HAS_U2B2_SUPPORT 1 HAS_USER_HIGH_SPEED_LOW_POWER_TILE_SUPPORT 1 HAS_USE_FITTER_INFO_SUPPORT 0 HAS_VCCPD_POWER_RAIL 1 HAS_VERTICAL_MIGRATION_SUPPORT 1 HAS_VIEWDRAW_SYMBOL_SUPPORT 0 HAS_VIO_SUPPORT 1 HAS_VIRTUAL_DEVICES 0 HAS_WYSIWYG_DFFEAS_SUPPORT 1 HAS_XIBISO2_WRITER_SUPPORT 1 HAS_XIBISO_WRITER_SUPPORT 0 IFP_USE_LEGACY_IO_CHECKER 0 INCREMENTAL_DESIGN_SUPPORTS_COMPATIBLE_CONSTRAINTS 1 INSTALLED 0 INTERNAL_POF_SUPPORT_ENABLED 0 INTERNAL_STATIC_PART 0 INTERNAL_USE_ONLY 0 IS_BARE_DIE 0 IS_CONFIG_ROM 0 IS_DEFAULT_FAMILY 0 IS_DQS_IN_BUFFER_REDUCTION 0 IS_FOR_INTERNAL_TESTING_ONLY 0 IS_HARDCOPY_FAMILY 0 IS_JW_NEW_BINNING_PLAN 0 IS_JZ_NEW_BINNING_PLAN 0 IS_MCP_DEVICE 0 IS_REVE_SILICON 0 IS_SDM_LITE 0 IS_UDM_BASED 0 LOAD_BLK_TYPE_DATA_FROM_ATOM_WYS_INFO 0 LUTRAM_DATA_IN_FF_MUST_BE_HIPI 0 LVDS_IO 1 M10K_MEMORY 0 M144K_MEMORY 0 M20K_MEMORY 1 M4K_MEMORY 0 M512_MEMORY 0 M9K_MEMORY 0 MLAB_MEMORY 1 MRAM_MEMORY 0 NOT_LISTED 0 NOT_MIGRATABLE 0 NOT_SUPPORTED_BY_QPA 0 NO_CLOCK_REGION 0 NO_FITTER_DELAY_CACHE_GENERATED 0 NO_PCF 0 NO_PIN_OUT 0 NO_POF 0 NO_ROUTING 0 NO_RPE_SUPPORT 0 NO_SUPPORT_FOR_LOGICLOCK_CONTENT_BACK_ANNOTATION 1 NO_SUPPORT_FOR_STA_CLOCK_UNCERTAINTY_CHECK 0 NO_TDC_SUPPORT 0 POSTFIT_BAK_DATABASE_EXPORT_ENABLED 0 POSTMAP_BAK_DATABASE_EXPORT_ENABLED 0 PRE_ND5_L_FINALITY 0 PROGRAMMER_ONLY 0 PROGRAMMER_SUPPORT 1 QFIT_IN_DEVELOPMENT 0 QMAP_IN_DEVELOPMENT 0 QPA_SUPPORTS_VID_CALC 0 QPA_USES_PAN2 0 RAM_LOGICAL_NAME_CHECKING_IN_CUT_ENABLED 0 REPORTS_METASTABILITY_MTBF 1 REQUIRES_INSTALLATION_PATCH 0 REQUIRES_LIST_OF_TEMPERATURE_AND_VOLTAGE_OPERATING_CONDITIONS 1 REQUIRE_QUARTUS_HIERARCHICAL_DESIGN 0 REQUIRE_SPECIAL_HANDLING_FOR_LOCAL_LABLINE 0 RESERVES_SIGNAL_PROBE_PINS 0 RESOLVE_MAX_FANOUT_EARLY 1 RESOLVE_MAX_FANOUT_LATE 0 RESPECTS_FIXED_SIZED_LOCKED_LOCATION_LOGICLOCK 0 RESTRICTED_USER_SELECTION 0 RISEFALL_SUPPORT_IS_HIDDEN 0 SHOW_HIDDEN_FAMILY_IN_PROGRAMMER 0 STRICT_TIMING_DB_CHECKS 0 SUPPORTS_ADDITIONAL_OPTIONS_FOR_UNUSED_IO 0 SUPPORTS_ADVANCED_SECURITY 0 SUPPORTS_CRC 1 SUPPORTS_DIFFERENTIAL_AIOT_BOARD_TRACE_MODEL 0 SUPPORTS_DSP_BALANCING_BACK_ANNOTATION 0 SUPPORTS_GENERATION_OF_EARLY_POWER_ESTIMATOR_FILE 1 SUPPORTS_GLOBAL_SIGNAL_BACK_ANNOTATION 0 SUPPORTS_HIPI_PW0 0 SUPPORTS_HIPI_RETIMING 0 SUPPORTS_LICENSE_FREE_PARTIAL_RECONFIG 1 SUPPORTS_MAC_CHAIN_OUT_ADDER 0 SUPPORTS_MIN_CORNER_DMF_GENERATION 0 SUPPORTS_NEW_BINNING_PLAN 0 SUPPORTS_PSEUDO_LATCHES_ONLY 0 SUPPORTS_RAM_PACKING_BACK_ANNOTATION 0 SUPPORTS_REG_PACKING_BACK_ANNOTATION 0 SUPPORTS_SIGNALPROBE_REGISTER_PIPELINING 0 SUPPORTS_SINGLE_ENDED_AIOT_BOARD_TRACE_MODEL 0 SUPPORTS_TIMING_CLOSURE_CORNERS 0 SUPPORTS_USER_MANUAL_LOGIC_DUPLICATION 1 SUPPORTS_VID 0 SUPPORT_HBM_IN_EPE 0 SUPPORT_HIGH_SPEED_HPS 0 SUPPORT_MULTIPLE_PAD_PER_PIN 0 SUPPORT_UIB 0 TMV_RUN_CUSTOMIZABLE_VIEWER 0 TMV_RUN_INTERNAL_DETAILS 1 TMV_RUN_INTERNAL_DETAILS_ON_IO 0 TMV_RUN_INTERNAL_DETAILS_ON_IOBUF 1 TMV_RUN_INTERNAL_DETAILS_ON_LCELL 0 TMV_RUN_INTERNAL_DETAILS_ON_LRAM 0 TRANSCEIVER_3G_BLOCK 0 TRANSCEIVER_6G_BLOCK 0 U2B2_SUPPORT_NOT_READY 0 USES_ACV_FOR_FLED 0 USES_ADB_FOR_BACK_ANNOTATION 1 USES_ALTERA_LNSIM 0 USES_ASIC_ROUTING_POWER_CALCULATOR 0 USES_DATA_DRIVEN_PLL_COMPUTATION_UTIL 0 USES_DETAILED_REDTAX_WITH_DSPF_ROUTING_MODELS 0 USES_DEV 1 USES_DSPF_ROUTING_MODELS 0 USES_ESTIMATED_TIMING 0 USES_EXTRACTION_CORNERS_WITH_DSPF_ROUTING_MODELS 0 USES_ICP_FOR_ECO_FITTER 0 USES_LIBERTY_ANNOTATION_FOR_LAB_OUTPUTS 0 USES_LIBERTY_ANNOTATION_FOR_M20K_DSP_OUTPUTS 0 USES_LIBERTY_TIMING 0 USES_MULTIPLE_VID_VOLTAGES 1 USES_PARASITIC_LOADS_WITH_DSPF_ROUTING_MODELS 0 USES_THIRD_GENERATION_TIMING_MODELS_TIS 1 USES_TIMING_ROUTING_DELAYS 0 USES_XML_FORMAT_FOR_EMIF_PIN_MAP_FILE 1 USE_ADVANCED_IO_POWER_BY_DEFAULT 0 USE_ADVANCED_IO_TIMING_BY_DEFAULT 0 USE_BASE_FAMILY_DDB_PATH 0 USE_OCT_AUTO_CALIBRATION 1 USE_RELAX_IO_ASSIGNMENT_RULES 0 USE_RISEFALL_ONLY 1 USE_SDM_CONFIGURATION 0 USE_SEPARATE_LIST_FOR_TECH_MIGRATION 0 USE_SINGLE_COMPILER_PASS_PLL_MIF_FILE_WRITER 0 USE_TITAN_IO_BASED_IO_REGISTER_PACKER_UTIL 1 USING_28NM_OR_OLDER_TIMING_METHODOLOGY 0 WYSIWYG_BUS_WIDTH_CHECKING_IN_CUT_ENABLED 0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_DEVICE" type="string"> + <ipxact:name>AUTO_DEVICE</ipxact:name> + <ipxact:displayName>Auto DEVICE</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_DEVICE_SPEEDGRADE" type="string"> + <ipxact:name>AUTO_DEVICE_SPEEDGRADE</ipxact:name> + <ipxact:displayName>Auto DEVICE_SPEEDGRADE</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_CLK_CLOCK_DOMAIN" type="longint"> + <ipxact:name>AUTO_CLK_CLOCK_DOMAIN</ipxact:name> + <ipxact:displayName>Auto CLOCK_DOMAIN</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_CLK_RESET_DOMAIN" type="longint"> + <ipxact:name>AUTO_CLK_RESET_DOMAIN</ipxact:name> + <ipxact:displayName>Auto RESET_DOMAIN</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="debug.hostConnection" type="string"> + <ipxact:name>debug.hostConnection</ipxact:name> + <ipxact:value>type jtag id 70:34|110:135</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.BIG_ENDIAN" type="string"> + <ipxact:name>embeddedsw.CMacro.BIG_ENDIAN</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.BREAK_ADDR" type="string"> + <ipxact:name>embeddedsw.CMacro.BREAK_ADDR</ipxact:name> + <ipxact:value>0x00004020</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CPU_ARCH_NIOS2_R1" type="string"> + <ipxact:name>embeddedsw.CMacro.CPU_ARCH_NIOS2_R1</ipxact:name> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CPU_FREQ" type="string"> + <ipxact:name>embeddedsw.CMacro.CPU_FREQ</ipxact:name> + <ipxact:value>125000000u</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CPU_ID_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.CPU_ID_SIZE</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CPU_ID_VALUE" type="string"> + <ipxact:name>embeddedsw.CMacro.CPU_ID_VALUE</ipxact:name> + <ipxact:value>0x00000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CPU_IMPLEMENTATION" type="string"> + <ipxact:name>embeddedsw.CMacro.CPU_IMPLEMENTATION</ipxact:name> + <ipxact:value>"tiny"</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DATA_ADDR_WIDTH" type="string"> + <ipxact:name>embeddedsw.CMacro.DATA_ADDR_WIDTH</ipxact:name> + <ipxact:value>18</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DCACHE_LINE_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.DCACHE_LINE_SIZE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DCACHE_LINE_SIZE_LOG2" type="string"> + <ipxact:name>embeddedsw.CMacro.DCACHE_LINE_SIZE_LOG2</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DCACHE_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.DCACHE_SIZE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.EXCEPTION_ADDR" type="string"> + <ipxact:name>embeddedsw.CMacro.EXCEPTION_ADDR</ipxact:name> + <ipxact:value>0x00020020</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.FLASH_ACCELERATOR_LINES" type="string"> + <ipxact:name>embeddedsw.CMacro.FLASH_ACCELERATOR_LINES</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.FLASH_ACCELERATOR_LINE_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.FLASH_ACCELERATOR_LINE_SIZE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.FLUSHDA_SUPPORTED" type="string"> + <ipxact:name>embeddedsw.CMacro.FLUSHDA_SUPPORTED</ipxact:name> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HARDWARE_DIVIDE_PRESENT" type="string"> + <ipxact:name>embeddedsw.CMacro.HARDWARE_DIVIDE_PRESENT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HARDWARE_MULTIPLY_PRESENT" type="string"> + <ipxact:name>embeddedsw.CMacro.HARDWARE_MULTIPLY_PRESENT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HARDWARE_MULX_PRESENT" type="string"> + <ipxact:name>embeddedsw.CMacro.HARDWARE_MULX_PRESENT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_DEBUG_CORE" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_DEBUG_CORE</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_DEBUG_STUB" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_DEBUG_STUB</ipxact:name> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_ILLEGAL_INSTRUCTION_EXCEPTION" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_ILLEGAL_INSTRUCTION_EXCEPTION</ipxact:name> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_JMPI_INSTRUCTION" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_JMPI_INSTRUCTION</ipxact:name> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.ICACHE_LINE_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.ICACHE_LINE_SIZE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.ICACHE_LINE_SIZE_LOG2" type="string"> + <ipxact:name>embeddedsw.CMacro.ICACHE_LINE_SIZE_LOG2</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.ICACHE_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.ICACHE_SIZE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.INST_ADDR_WIDTH" type="string"> + <ipxact:name>embeddedsw.CMacro.INST_ADDR_WIDTH</ipxact:name> + <ipxact:value>18</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.OCI_VERSION" type="string"> + <ipxact:name>embeddedsw.CMacro.OCI_VERSION</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.RESET_ADDR" type="string"> + <ipxact:name>embeddedsw.CMacro.RESET_ADDR</ipxact:name> + <ipxact:value>0x00020000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.DataCacheVictimBufImpl" type="string"> + <ipxact:name>embeddedsw.configuration.DataCacheVictimBufImpl</ipxact:name> + <ipxact:value>ram</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.HDLSimCachesCleared" type="string"> + <ipxact:name>embeddedsw.configuration.HDLSimCachesCleared</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.breakOffset" type="string"> + <ipxact:name>embeddedsw.configuration.breakOffset</ipxact:name> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.breakSlave" type="string"> + <ipxact:name>embeddedsw.configuration.breakSlave</ipxact:name> + <ipxact:value>cpu_0.debug_mem_slave</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.cpuArchitecture" type="string"> + <ipxact:name>embeddedsw.configuration.cpuArchitecture</ipxact:name> + <ipxact:value>Nios II</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.exceptionOffset" type="string"> + <ipxact:name>embeddedsw.configuration.exceptionOffset</ipxact:name> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.exceptionSlave" type="string"> + <ipxact:name>embeddedsw.configuration.exceptionSlave</ipxact:name> + <ipxact:value>onchip_memory2_0.s1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.resetOffset" type="string"> + <ipxact:name>embeddedsw.configuration.resetOffset</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.resetSlave" type="string"> + <ipxact:name>embeddedsw.configuration.resetSlave</ipxact:name> + <ipxact:value>onchip_memory2_0.s1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.compatible" type="string"> + <ipxact:name>embeddedsw.dts.compatible</ipxact:name> + <ipxact:value>altr,nios2-1.1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.group" type="string"> + <ipxact:name>embeddedsw.dts.group</ipxact:name> + <ipxact:value>cpu</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.name" type="string"> + <ipxact:name>embeddedsw.dts.name</ipxact:name> + <ipxact:value>nios2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.altr,exception-addr" type="string"> + <ipxact:name>embeddedsw.dts.params.altr,exception-addr</ipxact:name> + <ipxact:value>0x00020020</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.altr,implementation" type="string"> + <ipxact:name>embeddedsw.dts.params.altr,implementation</ipxact:name> + <ipxact:value>"tiny"</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.altr,reset-addr" type="string"> + <ipxact:name>embeddedsw.dts.params.altr,reset-addr</ipxact:name> + <ipxact:value>0x00020000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.clock-frequency" type="string"> + <ipxact:name>embeddedsw.dts.params.clock-frequency</ipxact:name> + <ipxact:value>125000000u</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.dcache-line-size" type="string"> + <ipxact:name>embeddedsw.dts.params.dcache-line-size</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.dcache-size" type="string"> + <ipxact:name>embeddedsw.dts.params.dcache-size</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.icache-line-size" type="string"> + <ipxact:name>embeddedsw.dts.params.icache-line-size</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.icache-size" type="string"> + <ipxact:name>embeddedsw.dts.params.icache-size</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.vendor" type="string"> + <ipxact:name>embeddedsw.dts.vendor</ipxact:name> + <ipxact:value>altr</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element nios2_gen2_0 + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>reset_req</name> + <role>reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>data_master</name> + <type>avalon</type> + <isStart>true</isStart> + <ports> + <port> + <name>d_address</name> + <role>address</role> + <direction>Output</direction> + <width>18</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_byteenable</name> + <role>byteenable</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_read</name> + <role>read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_readdata</name> + <role>readdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_waitrequest</name> + <role>waitrequest</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_write</name> + <role>write</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_writedata</name> + <role>writedata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_debugaccess_to_roms</name> + <role>debugaccess</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>debug.providesServices</key> + <value>master</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>adaptsTo</key> + </entry> + <entry> + <key>addressGroup</key> + <value>1</value> + </entry> + <entry> + <key>addressUnits</key> + <value>SYMBOLS</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>burstOnBurstBoundariesOnly</key> + <value>true</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>dBSBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>doStreamReads</key> + <value>false</value> + </entry> + <entry> + <key>doStreamWrites</key> + <value>false</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isAsynchronous</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isReadable</key> + <value>false</value> + </entry> + <entry> + <key>isWriteable</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>false</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>32</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>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>1</value> + </entry> + <entry> + <key>registerIncomingSignals</key> + <value>true</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>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>instruction_master</name> + <type>avalon</type> + <isStart>true</isStart> + <ports> + <port> + <name>i_address</name> + <role>address</role> + <direction>Output</direction> + <width>18</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>i_read</name> + <role>read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>i_readdata</name> + <role>readdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>i_waitrequest</name> + <role>waitrequest</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>adaptsTo</key> + </entry> + <entry> + <key>addressGroup</key> + <value>1</value> + </entry> + <entry> + <key>addressUnits</key> + <value>SYMBOLS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>true</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>burstOnBurstBoundariesOnly</key> + <value>false</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>dBSBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>doStreamReads</key> + <value>false</value> + </entry> + <entry> + <key>doStreamWrites</key> + <value>false</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isAsynchronous</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isReadable</key> + <value>false</value> + </entry> + <entry> + <key>isWriteable</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>true</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>32</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>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</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>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>true</isStart> + <ports> + <port> + <name>irq</name> + <role>irq</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>qsys_lofar2_unb2c_ddrctrl_nios2_gen2_0.data_master</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset</value> + </entry> + <entry> + <key>irqMap</key> + </entry> + <entry> + <key>irqScheme</key> + <value>INDIVIDUAL_REQUESTS</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>debug_reset_request</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>debug_reset_request</name> + <role>reset</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedDirectReset</key> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>none</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>debug_mem_slave</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>debug_mem_slave_address</name> + <role>address</role> + <direction>Input</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_byteenable</name> + <role>byteenable</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_debugaccess</name> + <role>debugaccess</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>embeddedsw.configuration.hideDevice</key> + <value>1</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.isNonVolatileStorage</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isPrintableDevice</key> + <value>0</value> + </entry> + <entry> + <key>qsys.ui.connect</key> + <value>instruction_master,data_master</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>2048</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>true</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>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>true</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>custom_instruction_master</name> + <type>nios_custom_instruction</type> + <isStart>true</isStart> + <ports> + <port> + <name>dummy_ci_port</name> + <role>readra</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>CIName</key> + <value></value> + </entry> + <entry> + <key>addressWidth</key> + <value>8</value> + </entry> + <entry> + <key>clockCycle</key> + <value>0</value> + </entry> + <entry> + <key>enabled</key> + <value>false</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>8</value> + </entry> + <entry> + <key>opcodeExtension</key> + <value>0</value> + </entry> + <entry> + <key>sharedCombinationalAndMulticycle</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_DOMAIN</key> + <value>1</value> + </entry> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + <entry> + <key>RESET_DOMAIN</key> + <value>1</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>custom_instruction_master</key> + <value> + <connectionPointName>custom_instruction_master</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CUSTOM_INSTRUCTION_SLAVES</key> + <value></value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>data_master</key> + <value> + <connectionPointName>data_master</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /&gt;&lt;slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /&gt;&lt;slave name='timer_0.s1' start='0x100' end='0x120' datawidth='16' /&gt;&lt;slave name='reg_epcs.mem' start='0x120' end='0x140' datawidth='32' /&gt;&lt;slave name='reg_remu.mem' start='0x140' end='0x160' datawidth='32' /&gt;&lt;slave name='reg_fpga_temp_sens.mem' start='0x160' end='0x180' datawidth='32' /&gt;&lt;slave name='pio_wdi.s1' start='0x180' end='0x190' datawidth='32' /&gt;&lt;slave name='pio_pps.mem' start='0x190' end='0x1A0' datawidth='32' /&gt;&lt;slave name='reg_mmdp_data.mem' start='0x1A0' end='0x1A8' datawidth='32' /&gt;&lt;slave name='reg_mmdp_ctrl.mem' start='0x1A8' end='0x1B0' datawidth='32' /&gt;&lt;slave name='reg_dpmm_data.mem' start='0x1B0' end='0x1B8' datawidth='32' /&gt;&lt;slave name='reg_dpmm_ctrl.mem' start='0x1B8' end='0x1C0' datawidth='32' /&gt;&lt;slave name='jtag_uart_0.avalon_jtag_slave' start='0x1C0' end='0x1C8' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_tse' start='0x1000' end='0x2000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_ram' start='0x2000' end='0x3000' datawidth='32' /&gt;&lt;slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /&gt;&lt;slave name='ram_scrap.mem' start='0x3800' end='0x4000' datawidth='32' /&gt;&lt;slave name='cpu_0.debug_mem_slave' start='0x4000' end='0x4800' datawidth='32' /&gt;&lt;slave name='rom_system_info.mem' start='0x10000' end='0x18000' datawidth='32' /&gt;&lt;slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>18</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>debug_mem_slave</key> + <value> + <connectionPointName>debug_mem_slave</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='debug_mem_slave' start='0x0' end='0x800' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>11</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>instruction_master</key> + <value> + <connectionPointName>instruction_master</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='cpu_0.debug_mem_slave' start='0x4000' end='0x4800' datawidth='32' /&gt;&lt;slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>18</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>irq</key> + <value> + <connectionPointName>irq</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>INTERRUPTS_USED</key> + <value>7</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="clk" altera:internal="nios2_gen2_0.clk" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="clk" altera:internal="clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="custom_instruction_master" altera:internal="nios2_gen2_0.custom_instruction_master" altera:type="nios_custom_instruction" altera:dir="start"> + <altera:port_mapping altera:name="dummy_ci_port" altera:internal="dummy_ci_port"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="data_master" altera:internal="nios2_gen2_0.data_master" altera:type="avalon" altera:dir="start"> + <altera:port_mapping altera:name="d_address" altera:internal="d_address"></altera:port_mapping> + <altera:port_mapping altera:name="d_byteenable" altera:internal="d_byteenable"></altera:port_mapping> + <altera:port_mapping altera:name="d_read" altera:internal="d_read"></altera:port_mapping> + <altera:port_mapping altera:name="d_readdata" altera:internal="d_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="d_waitrequest" altera:internal="d_waitrequest"></altera:port_mapping> + <altera:port_mapping altera:name="d_write" altera:internal="d_write"></altera:port_mapping> + <altera:port_mapping altera:name="d_writedata" altera:internal="d_writedata"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_debugaccess_to_roms" altera:internal="debug_mem_slave_debugaccess_to_roms"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="debug_mem_slave" altera:internal="nios2_gen2_0.debug_mem_slave" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="debug_mem_slave_address" altera:internal="debug_mem_slave_address"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_byteenable" altera:internal="debug_mem_slave_byteenable"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_debugaccess" altera:internal="debug_mem_slave_debugaccess"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_read" altera:internal="debug_mem_slave_read"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_readdata" altera:internal="debug_mem_slave_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_waitrequest" altera:internal="debug_mem_slave_waitrequest"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_write" altera:internal="debug_mem_slave_write"></altera:port_mapping> + <altera:port_mapping altera:name="debug_mem_slave_writedata" altera:internal="debug_mem_slave_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="debug_reset_request" altera:internal="nios2_gen2_0.debug_reset_request" altera:type="reset" altera:dir="start"> + <altera:port_mapping altera:name="debug_reset_request" altera:internal="debug_reset_request"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="instruction_master" altera:internal="nios2_gen2_0.instruction_master" altera:type="avalon" altera:dir="start"> + <altera:port_mapping altera:name="i_address" altera:internal="i_address"></altera:port_mapping> + <altera:port_mapping altera:name="i_read" altera:internal="i_read"></altera:port_mapping> + <altera:port_mapping altera:name="i_readdata" altera:internal="i_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="i_waitrequest" altera:internal="i_waitrequest"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="irq" altera:internal="nios2_gen2_0.irq" altera:type="interrupt" altera:dir="start"> + <altera:port_mapping altera:name="irq" altera:internal="irq"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="nios2_gen2_0.reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="reset_n" altera:internal="reset_n"></altera:port_mapping> + <altera:port_mapping altera:name="reset_req" altera:internal="reset_req"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0.ip new file mode 100644 index 0000000000..cb7745a458 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0.ip @@ -0,0 +1,1267 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0</ipxact:library> + <ipxact:name>onchip_memory2_0</ipxact:name> + <ipxact:version>19.2.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>clk1</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>s1</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clken</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clken</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>byteenable</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>byteenable</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>131072</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>131072</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset1</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_req</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_req</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>altera_avalon_onchip_memory2</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>14</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>clken</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>chipselect</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>byteenable</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_req</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0</ipxact:library> + <ipxact:name>altera_avalon_onchip_memory2</ipxact:name> + <ipxact:version>19.2.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="allowInSystemMemoryContentEditor" type="bit"> + <ipxact:name>allowInSystemMemoryContentEditor</ipxact:name> + <ipxact:displayName>Enable In-System Memory Content Editor feature</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="blockType" type="string"> + <ipxact:name>blockType</ipxact:name> + <ipxact:displayName>Block type</ipxact:displayName> + <ipxact:value>AUTO</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dataWidth" type="int"> + <ipxact:name>dataWidth</ipxact:name> + <ipxact:displayName>Slave S1 Data width</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dataWidth2" type="int"> + <ipxact:name>dataWidth2</ipxact:name> + <ipxact:displayName>Slave S2 Data width</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="dualPort" type="bit"> + <ipxact:name>dualPort</ipxact:name> + <ipxact:displayName>Dual-port access</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="enableDiffWidth" type="bit"> + <ipxact:name>enableDiffWidth</ipxact:name> + <ipxact:displayName>Enable different width for Dual-port access</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_enableDiffWidth" type="bit"> + <ipxact:name>derived_enableDiffWidth</ipxact:name> + <ipxact:displayName>derived_enableDiffWidth</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="initMemContent" type="bit"> + <ipxact:name>initMemContent</ipxact:name> + <ipxact:displayName>Initialize memory content</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="initializationFileName" type="string"> + <ipxact:name>initializationFileName</ipxact:name> + <ipxact:displayName>User created initialization file</ipxact:displayName> + <ipxact:value>onchip_memory2_0.hex</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="enPRInitMode" type="bit"> + <ipxact:name>enPRInitMode</ipxact:name> + <ipxact:displayName>Enable Partial Reconfiguration Initialization Mode</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="instanceID" type="string"> + <ipxact:name>instanceID</ipxact:name> + <ipxact:displayName>Instance ID</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="memorySize" type="longint"> + <ipxact:name>memorySize</ipxact:name> + <ipxact:displayName>Total memory size</ipxact:displayName> + <ipxact:value>131072</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readDuringWriteMode" type="string"> + <ipxact:name>readDuringWriteMode</ipxact:name> + <ipxact:displayName>Read During Write Mode</ipxact:displayName> + <ipxact:value>DONT_CARE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="simAllowMRAMContentsFile" type="bit"> + <ipxact:name>simAllowMRAMContentsFile</ipxact:name> + <ipxact:displayName>Allow MRAM contents file for simulation</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="simMemInitOnlyFilename" type="int"> + <ipxact:name>simMemInitOnlyFilename</ipxact:name> + <ipxact:displayName>Simulation meminit only has filename</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="singleClockOperation" type="bit"> + <ipxact:name>singleClockOperation</ipxact:name> + <ipxact:displayName>Single clock operation</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_singleClockOperation" type="bit"> + <ipxact:name>derived_singleClockOperation</ipxact:name> + <ipxact:displayName>derived_singleClockOperation</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="slave1Latency" type="int"> + <ipxact:name>slave1Latency</ipxact:name> + <ipxact:displayName>Slave s1 Latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="slave2Latency" type="int"> + <ipxact:name>slave2Latency</ipxact:name> + <ipxact:displayName>Slave s2 Latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="useNonDefaultInitFile" type="bit"> + <ipxact:name>useNonDefaultInitFile</ipxact:name> + <ipxact:displayName>Enable non-default initialization file</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="copyInitFile" type="bit"> + <ipxact:name>copyInitFile</ipxact:name> + <ipxact:displayName> Copy non-default initialization file to generated folder</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="useShallowMemBlocks" type="bit"> + <ipxact:name>useShallowMemBlocks</ipxact:name> + <ipxact:displayName>Minimize memory block usage (may impact fmax)</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writable" type="bit"> + <ipxact:name>writable</ipxact:name> + <ipxact:displayName>Type</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ecc_enabled" type="bit"> + <ipxact:name>ecc_enabled</ipxact:name> + <ipxact:displayName>Extend the data width to support ECC bits</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetrequest_enabled" type="bit"> + <ipxact:name>resetrequest_enabled</ipxact:name> + <ipxact:displayName>Reset Request</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="autoInitializationFileName" type="string"> + <ipxact:name>autoInitializationFileName</ipxact:name> + <ipxact:displayName>autoInitializationFileName</ipxact:displayName> + <ipxact:value>qsys_lofar2_unb2c_ddrctrl_onchip_memory2_0_onchip_memory2_0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>deviceFamily</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFeatures" type="string"> + <ipxact:name>deviceFeatures</ipxact:name> + <ipxact:displayName>deviceFeatures</ipxact:displayName> + <ipxact:value>ADDRESS_STALL 0 ADVANCED_INFO 0 ALLOWS_COMPILING_OTHER_FAMILY_IP 0 ALLOW_DIFF_SUFFIX_MIGRATION 0 ASSERT_TIMING_ROUTING_DELAYS_HAS_ALL_EXPECTED_DATA 0 ASSERT_TIMING_ROUTING_DELAYS_NO_AUTOFILL 0 BLACKLISTS_HIERARCHIES 0 CELL_LEVEL_BACK_ANNOTATION_DISABLED 0 COMPILER_SUPPORT 1 DOES_NOT_SUPPORT_TIMING_MODELS_FOR_ROUTING_WIRES_WITH_ONLY_REDUNDANT_FANOUTS 1 DSP 1 DSP_SHIFTER_BLOCK 0 DUMP_ASM_LAB_BITS_FOR_POWER 0 EMUL 0 ENABLE_ADVANCED_IO_ANALYSIS_GUI_FEATURES 0 ENABLE_HIGH_SPEED_HSSI 0 ENABLE_PHYSICAL_DESIGN_PLANNER 0 ENABLE_PIN_PLANNER 0 ENGINEERING_SAMPLE 0 EPCS 0 ESB 0 FAKE1 0 FAKE2 0 FAKE3 0 FAMILY_LEVEL_INSTALLATION_ONLY 0 FASTEST 0 FINAL_TIMING_MODEL 0 FITTER_USE_FALLING_EDGE_DELAY 0 FM_REVB 0 FPP_COMPLETELY_PLACES_AND_ROUTES_PERIPHERY 1 GENERATE_DC_ON_CURRENT_WARNING_FOR_INTERNAL_CLAMPING_DIODE 0 HARDCOPY 0 HAS_18_BIT_MULTS 0 HAS_ACE_SUPPORT 1 HAS_ADJUSTABLE_OUTPUT_IO_TIMING_MEAS_POINT 0 HAS_ADVANCED_IO_INVERTED_CORNER 0 HAS_ADVANCED_IO_POWER_SUPPORT 0 HAS_ADVANCED_IO_TIMING_SUPPORT 1 HAS_ALM_SUPPORT 1 HAS_ATOM_AND_ROUTING_POWER_MODELED_TOGETHER 0 HAS_AUTO_DERIVE_CLOCK_UNCERTAINTY_SUPPORT 1 HAS_AUTO_FIT_SUPPORT 1 HAS_BALANCED_OPT_TECHNIQUE_SUPPORT 1 HAS_BCM_PIN_BASED_AIOT_SUPPORT 0 HAS_BENEFICIAL_SKEW_SUPPORT 0 HAS_BITLEVEL_DRIVE_STRENGTH_CONTROL 0 HAS_BSDL_FILE_GENERATION 0 HAS_CDB_RE_NETWORK_PRESERVATION_SUPPORT 1 HAS_CGA_SUPPORT 1 HAS_CHECK_NETLIST_SUPPORT 0 HAS_CLOCK_REGION_CHECKER_ENABLED 0 HAS_CORE_JUNCTION_TEMP_DERATING 0 HAS_CROSSTALK_SUPPORT 0 HAS_CROSS_FEATURE_VERTICAL_MIGRATION_SUPPORT 0 HAS_CUSTOM_REGION_SUPPORT 0 HAS_DAP_JTAG_FROM_HPS 0 HAS_DATA_DRIVEN_ACVQ_HSSI_SUPPORT 1 HAS_DDB_FDI_SUPPORT 1 HAS_DESIGN_ANALYZER_SUPPORT 0 HAS_DETAILED_LEIM_STATIC_POWER_MODEL 0 HAS_DETAILED_ROUTING_MUX_STATIC_POWER_MODEL 0 HAS_DETAILED_THERMAL_CIRCUIT_PARAMETER_SUPPORT 1 HAS_DEVICE_MIGRATION_SUPPORT 1 HAS_DIAGONAL_MIGRATION_SUPPORT 0 HAS_EMIF_TOOLKIT_SUPPORT 1 HAS_ERROR_DETECTION_SUPPORT 1 HAS_FAMILY_VARIANT_MIGRATION_SUPPORT 0 HAS_FANOUT_FREE_NODE_SUPPORT 1 HAS_FAST_FIT_SUPPORT 0 HAS_FITTER_ECO_SUPPORT 0 HAS_FIT_NETLIST_OPT_RETIME_SUPPORT 1 HAS_FIT_NETLIST_OPT_SUPPORT 1 HAS_FORMAL_VERIFICATION_SUPPORT 0 HAS_FPGA_XCHANGE_SUPPORT 0 HAS_FSAC_LUTRAM_REGISTER_PACKING_SUPPORT 1 HAS_FULL_DAT_MIN_TIMING_SUPPORT 1 HAS_FULL_INCREMENTAL_DESIGN_SUPPORT 1 HAS_FUNCTIONAL_SIMULATION_SUPPORT 0 HAS_FUNCTIONAL_VERILOG_SIMULATION_SUPPORT 1 HAS_FUNCTIONAL_VHDL_SIMULATION_SUPPORT 1 HAS_GLITCH_FILTERING_SUPPORT 1 HAS_HC_READY_SUPPORT 0 HAS_HIER_PARTIAL_RECONFIG_SUPPORT 1 HAS_HIGH_SPEED_LOW_POWER_TILE_SUPPORT 1 HAS_HOLD_TIME_AVOIDANCE_ACROSS_CLOCK_SPINE_SUPPORT 0 HAS_HSPICE_WRITER_SUPPORT 0 HAS_HSSI_BLOCK 0 HAS_IBISO_WRITER_SUPPORT 0 HAS_ICD_DATA_IP 1 HAS_IDB_SUPPORT 1 HAS_INCREMENTAL_DAT_SUPPORT 1 HAS_INCREMENTAL_SYNTHESIS_SUPPORT 1 HAS_IO_ASSIGNMENT_ANALYSIS_SUPPORT 1 HAS_IO_DECODER 0 HAS_IO_PLACEMENT_OPTIMIZATION_SUPPORT 0 HAS_IO_PLACEMENT_USING_GEOMETRY_RULE 0 HAS_IO_PLACEMENT_USING_PHYSIC_RULE 0 HAS_IO_SMART_RECOMPILE_SUPPORT 0 HAS_JITTER_SUPPORT 1 HAS_JTAG_SLD_HUB_SUPPORT 1 HAS_LAB_LATCHES 0 HAS_LEIM_RES_MERGED_IN_RR_GRAPH 1 HAS_LOGIC_LOCK_SUPPORT 1 HAS_MICROPROCESSOR 0 HAS_MIF_SMART_COMPILE_SUPPORT 1 HAS_MINMAX_TIMING_MODELING_SUPPORT 0 HAS_MIN_TIMING_ANALYSIS_SUPPORT 0 HAS_MUX_RESTRUCTURE_SUPPORT 1 HAS_NADDER_STYLE_CLOCKING 0 HAS_NADDER_STYLE_FF 0 HAS_NADDER_STYLE_LCELL_COMB 0 HAS_NEW_CDB_NAME_FOR_M20K_SCLR 0 HAS_NEW_HC_FLOW_SUPPORT 0 HAS_NEW_SERDES_MAX_RESOURCE_COUNT_REPORTING_SUPPORT 0 HAS_NONSOCKET_TECHNOLOGY_MIGRATION_SUPPORT 0 HAS_NO_HARDBLOCK_PARTITION_SUPPORT 1 HAS_NO_JTAG_USERCODE_SUPPORT 0 HAS_OPERATING_SETTINGS_AND_CONDITIONS_REPORTING_SUPPORT 1 HAS_PAD_LOCATION_ASSIGNMENT_SUPPORT 0 HAS_PARTIAL_RECONFIG_SUPPORT 1 HAS_PDN_MODEL_STATUS 1 HAS_PHYSICAL_DESIGN_PLANNER_SUPPORT 1 HAS_PHYSICAL_NETLIST_OUTPUT 0 HAS_PHYSICAL_ROUTING_SUPPORT 1 HAS_PLDM_REF_SUPPORT 0 HAS_POWER_ESTIMATION_SUPPORT 1 HAS_PRELIMINARY_CLOCK_UNCERTAINTY_NUMBERS 0 HAS_PRE_FITTER_FPP_SUPPORT 1 HAS_PRE_FITTER_LUTRAM_NETLIST_CHECKER_ENABLED 1 HAS_PVA_SUPPORT 1 HAS_QHD_INCREMENTAL_TIMING_CLOSURE_SUPPORT 1 HAS_QHD_IP_REUSE_INTEGRATION_SUPPORT 1 HAS_QHD_PARTITIONS_SUPPORT 1 HAS_QUARTUS_HIERARCHICAL_DESIGN_SUPPORT 1 HAS_RAPID_RECOMPILE_SUPPORT 1 HAS_RCF_SUPPORT 1 HAS_RCF_SUPPORT_FOR_DEBUGGING 0 HAS_RED_BLACK_SEPARATION_SUPPORT 0 HAS_REVC_IO 0 HAS_RE_LEVEL_TIMING_GRAPH_SUPPORT 1 HAS_RISEFALL_DELAY_SUPPORT 1 HAS_SIGNAL_PROBE_SUPPORT 0 HAS_SIGNAL_TAP_SUPPORT 1 HAS_SIMPLIFIED_PARTIAL_RECONFIG_SUPPORT 1 HAS_SIMULATOR_SUPPORT 0 HAS_SIP_TILE_SUPPORT 0 HAS_SPEED_GRADE_OFFSET 1 HAS_SPLIT_IO_SUPPORT 1 HAS_SPLIT_LC_SUPPORT 1 HAS_STRICT_PRESERVATION_SUPPORT 0 HAS_SYNTHESIS_ON_ATOMS 1 HAS_SYNTH_FSYN_NETLIST_OPT_SUPPORT 1 HAS_SYNTH_NETLIST_OPT_RETIME_SUPPORT 0 HAS_SYNTH_NETLIST_OPT_SUPPORT 1 HAS_TCL_FITTER_SUPPORT 1 HAS_TECHNOLOGY_MIGRATION_SUPPORT 0 HAS_TEMPLATED_REGISTER_PACKING_SUPPORT 1 HAS_TIME_BORROWING_SUPPORT 1 HAS_TIMING_DRIVEN_SYNTHESIS_SUPPORT 1 HAS_TIMING_INFO_SUPPORT 1 HAS_TIMING_OPERATING_CONDITIONS 1 HAS_TIMING_SIMULATION_SUPPORT 0 HAS_TITAN_BASED_MAC_REGISTER_PACKER_SUPPORT 0 HAS_U2B2_SUPPORT 1 HAS_USER_HIGH_SPEED_LOW_POWER_TILE_SUPPORT 1 HAS_USE_FITTER_INFO_SUPPORT 0 HAS_VCCPD_POWER_RAIL 1 HAS_VERTICAL_MIGRATION_SUPPORT 1 HAS_VIEWDRAW_SYMBOL_SUPPORT 0 HAS_VIO_SUPPORT 1 HAS_VIRTUAL_DEVICES 0 HAS_WYSIWYG_DFFEAS_SUPPORT 1 HAS_XIBISO2_WRITER_SUPPORT 1 HAS_XIBISO_WRITER_SUPPORT 0 IFP_USE_LEGACY_IO_CHECKER 0 INCREMENTAL_DESIGN_SUPPORTS_COMPATIBLE_CONSTRAINTS 1 INSTALLED 0 INTERNAL_POF_SUPPORT_ENABLED 0 INTERNAL_STATIC_PART 0 INTERNAL_USE_ONLY 0 IS_BARE_DIE 0 IS_CONFIG_ROM 0 IS_DEFAULT_FAMILY 0 IS_DQS_IN_BUFFER_REDUCTION 0 IS_FOR_INTERNAL_TESTING_ONLY 0 IS_HARDCOPY_FAMILY 0 IS_JW_NEW_BINNING_PLAN 0 IS_JZ_NEW_BINNING_PLAN 0 IS_MCP_DEVICE 0 IS_REVE_SILICON 0 IS_SDM_LITE 0 IS_UDM_BASED 0 LOAD_BLK_TYPE_DATA_FROM_ATOM_WYS_INFO 0 LUTRAM_DATA_IN_FF_MUST_BE_HIPI 0 LVDS_IO 1 M10K_MEMORY 0 M144K_MEMORY 0 M20K_MEMORY 1 M4K_MEMORY 0 M512_MEMORY 0 M9K_MEMORY 0 MLAB_MEMORY 1 MRAM_MEMORY 0 NOT_LISTED 0 NOT_MIGRATABLE 0 NOT_SUPPORTED_BY_QPA 0 NO_CLOCK_REGION 0 NO_FITTER_DELAY_CACHE_GENERATED 0 NO_PCF 0 NO_PIN_OUT 0 NO_POF 0 NO_ROUTING 0 NO_RPE_SUPPORT 0 NO_SUPPORT_FOR_LOGICLOCK_CONTENT_BACK_ANNOTATION 1 NO_SUPPORT_FOR_STA_CLOCK_UNCERTAINTY_CHECK 0 NO_TDC_SUPPORT 0 POSTFIT_BAK_DATABASE_EXPORT_ENABLED 0 POSTMAP_BAK_DATABASE_EXPORT_ENABLED 0 PRE_ND5_L_FINALITY 0 PROGRAMMER_ONLY 0 PROGRAMMER_SUPPORT 1 QFIT_IN_DEVELOPMENT 0 QMAP_IN_DEVELOPMENT 0 QPA_SUPPORTS_VID_CALC 0 QPA_USES_PAN2 0 RAM_LOGICAL_NAME_CHECKING_IN_CUT_ENABLED 0 REPORTS_METASTABILITY_MTBF 1 REQUIRES_INSTALLATION_PATCH 0 REQUIRES_LIST_OF_TEMPERATURE_AND_VOLTAGE_OPERATING_CONDITIONS 1 REQUIRE_QUARTUS_HIERARCHICAL_DESIGN 0 REQUIRE_SPECIAL_HANDLING_FOR_LOCAL_LABLINE 0 RESERVES_SIGNAL_PROBE_PINS 0 RESOLVE_MAX_FANOUT_EARLY 1 RESOLVE_MAX_FANOUT_LATE 0 RESPECTS_FIXED_SIZED_LOCKED_LOCATION_LOGICLOCK 0 RESTRICTED_USER_SELECTION 0 RISEFALL_SUPPORT_IS_HIDDEN 0 SHOW_HIDDEN_FAMILY_IN_PROGRAMMER 0 STRICT_TIMING_DB_CHECKS 0 SUPPORTS_ADDITIONAL_OPTIONS_FOR_UNUSED_IO 0 SUPPORTS_ADVANCED_SECURITY 0 SUPPORTS_CRC 1 SUPPORTS_DIFFERENTIAL_AIOT_BOARD_TRACE_MODEL 0 SUPPORTS_DSP_BALANCING_BACK_ANNOTATION 0 SUPPORTS_GENERATION_OF_EARLY_POWER_ESTIMATOR_FILE 1 SUPPORTS_GLOBAL_SIGNAL_BACK_ANNOTATION 0 SUPPORTS_HIPI_PW0 0 SUPPORTS_HIPI_RETIMING 0 SUPPORTS_LICENSE_FREE_PARTIAL_RECONFIG 1 SUPPORTS_MAC_CHAIN_OUT_ADDER 0 SUPPORTS_MIN_CORNER_DMF_GENERATION 0 SUPPORTS_NEW_BINNING_PLAN 0 SUPPORTS_PSEUDO_LATCHES_ONLY 0 SUPPORTS_RAM_PACKING_BACK_ANNOTATION 0 SUPPORTS_REG_PACKING_BACK_ANNOTATION 0 SUPPORTS_SIGNALPROBE_REGISTER_PIPELINING 0 SUPPORTS_SINGLE_ENDED_AIOT_BOARD_TRACE_MODEL 0 SUPPORTS_TIMING_CLOSURE_CORNERS 0 SUPPORTS_USER_MANUAL_LOGIC_DUPLICATION 1 SUPPORTS_VID 0 SUPPORT_HBM_IN_EPE 0 SUPPORT_HIGH_SPEED_HPS 0 SUPPORT_MULTIPLE_PAD_PER_PIN 0 SUPPORT_UIB 0 TMV_RUN_CUSTOMIZABLE_VIEWER 0 TMV_RUN_INTERNAL_DETAILS 1 TMV_RUN_INTERNAL_DETAILS_ON_IO 0 TMV_RUN_INTERNAL_DETAILS_ON_IOBUF 1 TMV_RUN_INTERNAL_DETAILS_ON_LCELL 0 TMV_RUN_INTERNAL_DETAILS_ON_LRAM 0 TRANSCEIVER_3G_BLOCK 0 TRANSCEIVER_6G_BLOCK 0 U2B2_SUPPORT_NOT_READY 0 USES_ACV_FOR_FLED 0 USES_ADB_FOR_BACK_ANNOTATION 1 USES_ALTERA_LNSIM 0 USES_ASIC_ROUTING_POWER_CALCULATOR 0 USES_DATA_DRIVEN_PLL_COMPUTATION_UTIL 0 USES_DETAILED_REDTAX_WITH_DSPF_ROUTING_MODELS 0 USES_DEV 1 USES_DSPF_ROUTING_MODELS 0 USES_ESTIMATED_TIMING 0 USES_EXTRACTION_CORNERS_WITH_DSPF_ROUTING_MODELS 0 USES_ICP_FOR_ECO_FITTER 0 USES_LIBERTY_ANNOTATION_FOR_LAB_OUTPUTS 0 USES_LIBERTY_ANNOTATION_FOR_M20K_DSP_OUTPUTS 0 USES_LIBERTY_TIMING 0 USES_MULTIPLE_VID_VOLTAGES 1 USES_PARASITIC_LOADS_WITH_DSPF_ROUTING_MODELS 0 USES_THIRD_GENERATION_TIMING_MODELS_TIS 1 USES_TIMING_ROUTING_DELAYS 0 USES_XML_FORMAT_FOR_EMIF_PIN_MAP_FILE 1 USE_ADVANCED_IO_POWER_BY_DEFAULT 0 USE_ADVANCED_IO_TIMING_BY_DEFAULT 0 USE_BASE_FAMILY_DDB_PATH 0 USE_OCT_AUTO_CALIBRATION 1 USE_RELAX_IO_ASSIGNMENT_RULES 0 USE_RISEFALL_ONLY 1 USE_SDM_CONFIGURATION 0 USE_SEPARATE_LIST_FOR_TECH_MIGRATION 0 USE_SINGLE_COMPILER_PASS_PLL_MIF_FILE_WRITER 0 USE_TITAN_IO_BASED_IO_REGISTER_PACKER_UTIL 1 USING_28NM_OR_OLDER_TIMING_METHODOLOGY 0 WYSIWYG_BUS_WIDTH_CHECKING_IN_CUT_ENABLED 0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_set_addr_width" type="int"> + <ipxact:name>derived_set_addr_width</ipxact:name> + <ipxact:displayName>Slave 1 address width</ipxact:displayName> + <ipxact:value>15</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_set_addr_width2" type="int"> + <ipxact:name>derived_set_addr_width2</ipxact:name> + <ipxact:displayName>Slave 2 address width</ipxact:displayName> + <ipxact:value>15</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_set_data_width" type="int"> + <ipxact:name>derived_set_data_width</ipxact:name> + <ipxact:displayName>Slave 1 data width</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_set_data_width2" type="int"> + <ipxact:name>derived_set_data_width2</ipxact:name> + <ipxact:displayName>Slave 2 data width</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_gui_ram_block_type" type="string"> + <ipxact:name>derived_gui_ram_block_type</ipxact:name> + <ipxact:displayName>derived_gui_ram_block_type</ipxact:displayName> + <ipxact:value>Automatic</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_is_hardcopy" type="bit"> + <ipxact:name>derived_is_hardcopy</ipxact:name> + <ipxact:displayName>derived_is_hardcopy</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_init_file_name" type="string"> + <ipxact:name>derived_init_file_name</ipxact:name> + <ipxact:displayName>derived_init_file_name</ipxact:displayName> + <ipxact:value>onchip_memory2_0.hex</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.CMacro.ALLOW_IN_SYSTEM_MEMORY_CONTENT_EDITOR" type="string"> + <ipxact:name>embeddedsw.CMacro.ALLOW_IN_SYSTEM_MEMORY_CONTENT_EDITOR</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.ALLOW_MRAM_SIM_CONTENTS_ONLY_FILE" type="string"> + <ipxact:name>embeddedsw.CMacro.ALLOW_MRAM_SIM_CONTENTS_ONLY_FILE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CONTENTS_INFO" type="string"> + <ipxact:name>embeddedsw.CMacro.CONTENTS_INFO</ipxact:name> + <ipxact:value>""</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DUAL_PORT" type="string"> + <ipxact:name>embeddedsw.CMacro.DUAL_PORT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.GUI_RAM_BLOCK_TYPE" type="string"> + <ipxact:name>embeddedsw.CMacro.GUI_RAM_BLOCK_TYPE</ipxact:name> + <ipxact:value>AUTO</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.INIT_CONTENTS_FILE" type="string"> + <ipxact:name>embeddedsw.CMacro.INIT_CONTENTS_FILE</ipxact:name> + <ipxact:value>onchip_memory2_0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.INIT_MEM_CONTENT" type="string"> + <ipxact:name>embeddedsw.CMacro.INIT_MEM_CONTENT</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.INSTANCE_ID" type="string"> + <ipxact:name>embeddedsw.CMacro.INSTANCE_ID</ipxact:name> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.NON_DEFAULT_INIT_FILE_ENABLED" type="string"> + <ipxact:name>embeddedsw.CMacro.NON_DEFAULT_INIT_FILE_ENABLED</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.RAM_BLOCK_TYPE" type="string"> + <ipxact:name>embeddedsw.CMacro.RAM_BLOCK_TYPE</ipxact:name> + <ipxact:value>AUTO</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.READ_DURING_WRITE_MODE" type="string"> + <ipxact:name>embeddedsw.CMacro.READ_DURING_WRITE_MODE</ipxact:name> + <ipxact:value>DONT_CARE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.SINGLE_CLOCK_OP" type="string"> + <ipxact:name>embeddedsw.CMacro.SINGLE_CLOCK_OP</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.SIZE_MULTIPLE" type="string"> + <ipxact:name>embeddedsw.CMacro.SIZE_MULTIPLE</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.SIZE_VALUE" type="string"> + <ipxact:name>embeddedsw.CMacro.SIZE_VALUE</ipxact:name> + <ipxact:value>131072</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.WRITABLE" type="string"> + <ipxact:name>embeddedsw.CMacro.WRITABLE</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.DAT_SYM_INSTALL_DIR" type="string"> + <ipxact:name>embeddedsw.memoryInfo.DAT_SYM_INSTALL_DIR</ipxact:name> + <ipxact:value>SIM_DIR</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.GENERATE_DAT_SYM" type="string"> + <ipxact:name>embeddedsw.memoryInfo.GENERATE_DAT_SYM</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.GENERATE_HEX" type="string"> + <ipxact:name>embeddedsw.memoryInfo.GENERATE_HEX</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.HAS_BYTE_LANE" type="string"> + <ipxact:name>embeddedsw.memoryInfo.HAS_BYTE_LANE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.HEX_INSTALL_DIR" type="string"> + <ipxact:name>embeddedsw.memoryInfo.HEX_INSTALL_DIR</ipxact:name> + <ipxact:value>QPF_DIR</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.MEM_INIT_DATA_WIDTH" type="string"> + <ipxact:name>embeddedsw.memoryInfo.MEM_INIT_DATA_WIDTH</ipxact:name> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.memoryInfo.MEM_INIT_FILENAME" type="string"> + <ipxact:name>embeddedsw.memoryInfo.MEM_INIT_FILENAME</ipxact:name> + <ipxact:value>onchip_memory2_0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="postgeneration.simulation.init_file.param_name" type="string"> + <ipxact:name>postgeneration.simulation.init_file.param_name</ipxact:name> + <ipxact:value>INIT_FILE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="postgeneration.simulation.init_file.type" type="string"> + <ipxact:name>postgeneration.simulation.init_file.type</ipxact:name> + <ipxact:value>MEM_INIT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element onchip_memory2_0 + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>clk1</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> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>15</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>clken</name> + <role>clken</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>byteenable</name> + <role>byteenable</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>131072</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk1</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset1</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>131072</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>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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset1</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>reset_req</name> + <role>reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk1</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>s1</key> + <value> + <connectionPointName>s1</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='s1' start='0x0' end='0x20000' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>17</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="clk1" altera:internal="onchip_memory2_0.clk1" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="clk" altera:internal="clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset1" altera:internal="onchip_memory2_0.reset1" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="reset" altera:internal="reset"></altera:port_mapping> + <altera:port_mapping altera:name="reset_req" altera:internal="reset_req"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="s1" altera:internal="onchip_memory2_0.s1" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="address" altera:internal="address"></altera:port_mapping> + <altera:port_mapping altera:name="byteenable" altera:internal="byteenable"></altera:port_mapping> + <altera:port_mapping altera:name="chipselect" altera:internal="chipselect"></altera:port_mapping> + <altera:port_mapping altera:name="clken" altera:internal="clken"></altera:port_mapping> + <altera:port_mapping altera:name="readdata" altera:internal="readdata"></altera:port_mapping> + <altera:port_mapping altera:name="write" altera:internal="write"></altera:port_mapping> + <altera:port_mapping altera:name="writedata" altera:internal="writedata"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_pps.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_pps.ip new file mode 100644 index 0000000000..4935a2b3db --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_pps.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_pio_pps</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_pio_pps</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>16</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>1</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>1</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_pio_pps</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_pio_pps + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>16</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x10' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>4</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_pps.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_system_info.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_system_info.ip new file mode 100644 index 0000000000..f876f52c18 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_system_info.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_pio_system_info</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_pio_system_info</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>128</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>4</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>4</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_pio_system_info</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>5</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_pio_system_info + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>5</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>128</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>5</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x80' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>7</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_system_info.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_wdi.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_wdi.ip new file mode 100644 index 0000000000..bd2cce9f34 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_pio_wdi.ip @@ -0,0 +1,1302 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_pio_wdi</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_pio_wdi</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>s1</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>write_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>NATIVE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>4</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>external_connection</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>out_port</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>altera_avalon_pio</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>1</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>write_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>chipselect</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>out_port</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_pio_wdi</ipxact:library> + <ipxact:name>altera_avalon_pio</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="bitClearingEdgeCapReg" type="bit"> + <ipxact:name>bitClearingEdgeCapReg</ipxact:name> + <ipxact:displayName>Enable bit-clearing for edge capture register</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitModifyingOutReg" type="bit"> + <ipxact:name>bitModifyingOutReg</ipxact:name> + <ipxact:displayName>Enable individual bit setting/clearing</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="captureEdge" type="bit"> + <ipxact:name>captureEdge</ipxact:name> + <ipxact:displayName>Synchronously capture</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="direction" type="string"> + <ipxact:name>direction</ipxact:name> + <ipxact:displayName>Direction</ipxact:displayName> + <ipxact:value>Output</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="edgeType" type="string"> + <ipxact:name>edgeType</ipxact:name> + <ipxact:displayName>Edge Type</ipxact:displayName> + <ipxact:value>RISING</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generateIRQ" type="bit"> + <ipxact:name>generateIRQ</ipxact:name> + <ipxact:displayName>Generate IRQ</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="irqType" type="string"> + <ipxact:name>irqType</ipxact:name> + <ipxact:displayName>IRQ Type</ipxact:displayName> + <ipxact:value>LEVEL</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetValue" type="longint"> + <ipxact:name>resetValue</ipxact:name> + <ipxact:displayName>Output Port Reset Value</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="simDoTestBenchWiring" type="bit"> + <ipxact:name>simDoTestBenchWiring</ipxact:name> + <ipxact:displayName>Hardwire PIO inputs in test bench</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="simDrivenValue" type="longint"> + <ipxact:name>simDrivenValue</ipxact:name> + <ipxact:displayName>Drive inputs to field.</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="width" type="int"> + <ipxact:name>width</ipxact:name> + <ipxact:displayName>Width (1-32 bits)</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>clockRate</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_has_tri" type="bit"> + <ipxact:name>derived_has_tri</ipxact:name> + <ipxact:displayName>derived_has_tri</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_has_out" type="bit"> + <ipxact:name>derived_has_out</ipxact:name> + <ipxact:displayName>derived_has_out</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_has_in" type="bit"> + <ipxact:name>derived_has_in</ipxact:name> + <ipxact:displayName>derived_has_in</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_do_test_bench_wiring" type="bit"> + <ipxact:name>derived_do_test_bench_wiring</ipxact:name> + <ipxact:displayName>derived_do_test_bench_wiring</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_capture" type="bit"> + <ipxact:name>derived_capture</ipxact:name> + <ipxact:displayName>derived_capture</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_edge_type" type="string"> + <ipxact:name>derived_edge_type</ipxact:name> + <ipxact:displayName>derived_edge_type</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_irq_type" type="string"> + <ipxact:name>derived_irq_type</ipxact:name> + <ipxact:displayName>derived_irq_type</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="derived_has_irq" type="bit"> + <ipxact:name>derived_has_irq</ipxact:name> + <ipxact:displayName>derived_has_irq</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.CMacro.BIT_CLEARING_EDGE_REGISTER" type="string"> + <ipxact:name>embeddedsw.CMacro.BIT_CLEARING_EDGE_REGISTER</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.BIT_MODIFYING_OUTPUT_REGISTER" type="string"> + <ipxact:name>embeddedsw.CMacro.BIT_MODIFYING_OUTPUT_REGISTER</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.CAPTURE" type="string"> + <ipxact:name>embeddedsw.CMacro.CAPTURE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DATA_WIDTH" type="string"> + <ipxact:name>embeddedsw.CMacro.DATA_WIDTH</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DO_TEST_BENCH_WIRING" type="string"> + <ipxact:name>embeddedsw.CMacro.DO_TEST_BENCH_WIRING</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.DRIVEN_SIM_VALUE" type="string"> + <ipxact:name>embeddedsw.CMacro.DRIVEN_SIM_VALUE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.EDGE_TYPE" type="string"> + <ipxact:name>embeddedsw.CMacro.EDGE_TYPE</ipxact:name> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.FREQ" type="string"> + <ipxact:name>embeddedsw.CMacro.FREQ</ipxact:name> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_IN" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_IN</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_OUT" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_OUT</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.HAS_TRI" type="string"> + <ipxact:name>embeddedsw.CMacro.HAS_TRI</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.IRQ_TYPE" type="string"> + <ipxact:name>embeddedsw.CMacro.IRQ_TYPE</ipxact:name> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.RESET_VALUE" type="string"> + <ipxact:name>embeddedsw.CMacro.RESET_VALUE</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.compatible" type="string"> + <ipxact:name>embeddedsw.dts.compatible</ipxact:name> + <ipxact:value>altr,pio-1.0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.group" type="string"> + <ipxact:name>embeddedsw.dts.group</ipxact:name> + <ipxact:value>gpio</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.name" type="string"> + <ipxact:name>embeddedsw.dts.name</ipxact:name> + <ipxact:value>pio</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.altr,gpio-bank-width" type="string"> + <ipxact:name>embeddedsw.dts.params.altr,gpio-bank-width</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.params.resetvalue" type="string"> + <ipxact:name>embeddedsw.dts.params.resetvalue</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.vendor" type="string"> + <ipxact:name>embeddedsw.dts.vendor</ipxact:name> + <ipxact:value>altr</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_pio_wdi + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>0</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>4</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>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> + </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_pio&lt;/name&gt;&lt;baseAddress&gt;0x00000000&lt;/baseAddress&gt; + &lt;addressBlock&gt; + &lt;offset&gt;0x0&lt;/offset&gt; + &lt;size&gt;32&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;Reading from data returns the value present at the input ports. If the PIO core hardware is configured in output-only mode, reading from data returns an undefined value. Writing to data stores the value to a register that drives the output ports. If the PIO core hardware is configured in input-only mode, writing to data has no effect. If the PIO core hardware is in bidirectional mode, the registered value appears on an output port only when the corresponding bit in the direction register is set to 1 (output).&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;Reads: Data value currently on PIO inputs. Writes: New value to drive on PIO outputs.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;32&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;DIRECTION&lt;/name&gt; + &lt;displayName&gt;Direction&lt;/displayName&gt; + &lt;description&gt;The direction register controls the data direction for each PIO port, assuming the port is bidirectional. When bit n in direction is set to 1, port n drives out the value in the corresponding bit of the data register The direction register only exists when the PIO core hardware is configured in bidirectional mode. The mode (input, output, or bidirectional) is specified at system generation time, and cannot be changed at runtime. In input-only or output-only mode, the direction register does not exist. In this case, reading direction returns an undefined value, writing direction has no effect. After reset, all bits of direction are 0, so that all bidirectional I/O ports are configured as inputs. If those PIO ports are connected to device pins, the pins are held in a high-impedance state. In bi-directional mode, to change the direction of the PIO port, reprogram the direction register.&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;direction&lt;/name&gt; + &lt;description&gt;Individual direction control for each I/O port. A value of 0 sets the direction to input; 1 sets the direction to output.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;32&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;IRQ_MASK&lt;/name&gt; + &lt;displayName&gt;Interrupt mask&lt;/displayName&gt; + &lt;description&gt;Setting a bit in the interruptmask register to 1 enables interrupts for the corresponding PIO input port. Interrupt behavior depends on the hardware configuration of the PIO core. The interruptmask register only exists when the hardware is configured to generate IRQs. If the core cannot generate IRQs, reading interruptmask returns an undefined value, and writing to interruptmask has no effect. After reset, all bits of interruptmask are zero, so that interrupts are disabled for all PIO ports.&lt;/description&gt; + &lt;addressOffset&gt;0x8&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;interruptmask&lt;/name&gt; + &lt;description&gt;IRQ enable/disable for each input port. Setting a bit to 1 enables interrupts for the corresponding port.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;32&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;EDGE_CAP&lt;/name&gt; + &lt;displayName&gt;Edge capture&lt;/displayName&gt; + &lt;description&gt;Bit n in the edgecapture register is set to 1 whenever an edge is detected on input port n. An Avalon-MM master peripheral can read the edgecapture register to determine if an edge has occurred on any of the PIO input ports. If the option Enable bit-clearing for edge capture register is turned off, writing any value to the edgecapture register clears all bits in the register. Otherwise, writing a 1 to a particular bit in the register clears only that bit. The type of edge(s) to detect is fixed in hardware at system generation time. The edgecapture register only exists when the hardware is configured to capture edges. If the core is not configured to capture edges, reading from edgecapture returns an undefined value, and writing to edgecapture has no effect.&lt;/description&gt; + &lt;addressOffset&gt;0xc&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;edgecapture&lt;/name&gt; + &lt;description&gt;Edge detection for each input port.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;32&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;SET_BIT&lt;/name&gt; + &lt;displayName&gt;Outset&lt;/displayName&gt; + &lt;description&gt;You can use the outset register to set individual bits of the output port. For example, to set bit 6 of the output port, write 0x40 to the outset register. This register is only present when the option Enable individual bit set/clear output register is turned on.&lt;/description&gt; + &lt;addressOffset&gt;0x10&lt;/addressOffset&gt; + &lt;size&gt;32&lt;/size&gt; + &lt;access&gt;write-only&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;outset&lt;/name&gt; + &lt;description&gt;Specifies which bit of the output port to set.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;32&lt;/bitWidth&gt; + &lt;access&gt;write-only&lt;/access&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;CLEAR_BITS&lt;/name&gt; + &lt;displayName&gt;Outclear&lt;/displayName&gt; + &lt;description&gt;You can use the outclear register to clear individual bits of the output port. For example, writing 0x08 to the outclear register clears bit 3 of the output port. This register is only present when the option Enable individual bit set/clear output register is turned on.&lt;/description&gt; + &lt;addressOffset&gt;0x14&lt;/addressOffset&gt; + &lt;size&gt;32&lt;/size&gt; + &lt;access&gt;write-only&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;outclear&lt;/name&gt; + &lt;description&gt;Specifies which output bit to clear.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;32&lt;/bitWidth&gt; + &lt;access&gt;write-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>external_connection</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>out_port</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>s1</key> + <value> + <connectionPointName>s1</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='s1' start='0x0' end='0x10' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>4</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_wdi.clk" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="clk" altera:internal="clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="external_connection" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_wdi.external_connection" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="out_port" altera:internal="out_port"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_wdi.reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="reset_n" altera:internal="reset_n"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="s1" altera:internal="qsys_lofar2_unb2c_ddrctrl_pio_wdi.s1" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="address" altera:internal="address"></altera:port_mapping> + <altera:port_mapping altera:name="chipselect" altera:internal="chipselect"></altera:port_mapping> + <altera:port_mapping altera:name="readdata" altera:internal="readdata"></altera:port_mapping> + <altera:port_mapping altera:name="write_n" altera:internal="write_n"></altera:port_mapping> + <altera:port_mapping altera:name="writedata" altera:internal="writedata"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_ram_scrap.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_ram_scrap.ip new file mode 100644 index 0000000000..80e5010a37 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_ram_scrap.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_ram_scrap</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_ram_scrap</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>2048</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm_readlatency2</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>8</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>8</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_ram_scrap</ipxact:library> + <ipxact:name>avs_common_mm_readlatency2</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>9</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_ram_scrap + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>2048</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>2</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x800' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>11</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_ram_scrap.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.ip new file mode 100644 index 0000000000..cdb78ddb4f --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.ip @@ -0,0 +1,1525 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' 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>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_ctrl.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.ip new file mode 100644 index 0000000000..1ae79a9ac8 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.ip @@ -0,0 +1,1525 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' 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>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_dpmm_data.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_epcs.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_epcs.ip new file mode 100644 index 0000000000..089c99e77c --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_epcs.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_epcs</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_epcs</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_epcs</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>3</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_epcs + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x20' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_epcs.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.ip new file mode 100644 index 0000000000..5a4235971a --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>3</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x20' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_temp_sens.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.ip new file mode 100644 index 0000000000..724c1e1637 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>64</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>3</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>4</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>64</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x40' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>6</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_fpga_voltage_sens.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.ip new file mode 100644 index 0000000000..146a54018e --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.ip @@ -0,0 +1,1525 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' 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>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_ctrl.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.ip new file mode 100644 index 0000000000..264166a9ca --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.ip @@ -0,0 +1,1525 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' 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>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_mmdp_data.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_remu.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_remu.ip new file mode 100644 index 0000000000..ae2a624208 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_remu.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_remu</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_remu</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_remu</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>3</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_remu + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x20' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_remu.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_wdi.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_wdi.ip new file mode 100644 index 0000000000..1e82a537f9 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_reg_wdi.ip @@ -0,0 +1,1525 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_wdi</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_reg_wdi</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_reg_wdi</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_reg_wdi + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' 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>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_reg_wdi.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_rom_system_info.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_rom_system_info.ip new file mode 100644 index 0000000000..0a6efb951d --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_rom_system_info.ip @@ -0,0 +1,1535 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_rom_system_info</ipxact:library> + <ipxact:name>qsys_lofar2_unb2c_ddrctrl_rom_system_info</ipxact:name> + <ipxact:version>1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>system</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>system_reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>csi_system_reset</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>mem</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_write</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>read</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_read</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>avs_mem_readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>DYNAMIC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>32768</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>system</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>system_reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_reset_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_clk_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>address</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_address_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>write</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_write_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>writedata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_writedata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>read</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_read_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>readdata</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="conduit" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>export</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>coe_readdata_export</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>associatedClock</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>associatedReset</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>avs_common_mm</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>csi_system_clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>csi_system_reset</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>12</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_write</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_read</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>avs_mem_readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_reset_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_clk_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_address_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>12</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_write_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_writedata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_read_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>coe_readdata_export</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>31</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>ASTRON</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_rom_system_info</ipxact:library> + <ipxact:name>avs_common_mm</ipxact:name> + <ipxact:version>1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="g_adr_w" type="int"> + <ipxact:name>g_adr_w</ipxact:name> + <ipxact:displayName>g_adr_w</ipxact:displayName> + <ipxact:value>13</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="g_dat_w" type="int"> + <ipxact:name>g_dat_w</ipxact:name> + <ipxact:displayName>g_dat_w</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="AUTO_SYSTEM_CLOCK_RATE" type="longint"> + <ipxact:name>AUTO_SYSTEM_CLOCK_RATE</ipxact:name> + <ipxact:displayName>Auto CLOCK_RATE</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element qsys_lofar2_unb2c_ddrctrl_rom_system_info + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>13</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32768</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>13</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x8000' datawidth='32' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>15</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="address" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.address" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_address_export" altera:internal="coe_address_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="clk" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.clk" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_clk_export" altera:internal="coe_clk_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="mem" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.mem" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="avs_mem_address" altera:internal="avs_mem_address"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_read" altera:internal="avs_mem_read"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_readdata" altera:internal="avs_mem_readdata"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_write" altera:internal="avs_mem_write"></altera:port_mapping> + <altera:port_mapping altera:name="avs_mem_writedata" altera:internal="avs_mem_writedata"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="read" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.read" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_read_export" altera:internal="coe_read_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="readdata" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.readdata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_readdata_export" altera:internal="coe_readdata_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.reset" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_reset_export" altera:internal="coe_reset_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.system" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_clk" altera:internal="csi_system_clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="system_reset" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.system_reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="csi_system_reset" altera:internal="csi_system_reset"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="write" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.write" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_write_export" altera:internal="coe_write_export"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="writedata" altera:internal="qsys_lofar2_unb2c_ddrctrl_rom_system_info.writedata" altera:type="conduit" altera:dir="end"> + <altera:port_mapping altera:name="coe_writedata_export" altera:internal="coe_writedata_export"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_timer_0.ip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_timer_0.ip new file mode 100644 index 0000000000..88f1b5f75a --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/ip/qsys_lofar2_unb2c_ddrctrl/qsys_lofar2_unb2c_ddrctrl_timer_0.ip @@ -0,0 +1,1402 @@ +<?xml version="1.0" ?> +<ipxact:component xmlns:altera="http://www.altera.com/XMLSchema/IPXact2014/extensions" xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014"> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_timer_0</ipxact:library> + <ipxact:name>timer_0</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + <ipxact:busInterfaces> + <ipxact:busInterface> + <ipxact:name>clk</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="clock" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="clock" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>clk</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="clockRate" type="longint"> + <ipxact:name>clockRate</ipxact:name> + <ipxact:displayName>Clock rate</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="externallyDriven" type="bit"> + <ipxact:name>externallyDriven</ipxact:name> + <ipxact:displayName>Externally driven</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ptfSchematicName" type="string"> + <ipxact:name>ptfSchematicName</ipxact:name> + <ipxact:displayName>PTF schematic name</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>reset</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="reset" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="reset" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>reset_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="synchronousEdges" type="string"> + <ipxact:name>synchronousEdges</ipxact:name> + <ipxact:displayName>Synchronous edges</ipxact:displayName> + <ipxact:value>DEASSERT</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>s1</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="avalon" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>address</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>writedata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>readdata</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>chipselect</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>write_n</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>write_n</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="addressAlignment" type="string"> + <ipxact:name>addressAlignment</ipxact:name> + <ipxact:displayName>Slave addressing</ipxact:displayName> + <ipxact:value>NATIVE</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressGroup" type="int"> + <ipxact:name>addressGroup</ipxact:name> + <ipxact:displayName>Address group</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressSpan" type="string"> + <ipxact:name>addressSpan</ipxact:name> + <ipxact:displayName>Address span</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="addressUnits" type="string"> + <ipxact:name>addressUnits</ipxact:name> + <ipxact:displayName>Address units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="alwaysBurstMaxBurst" type="bit"> + <ipxact:name>alwaysBurstMaxBurst</ipxact:name> + <ipxact:displayName>Always burst maximum burst</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bitsPerSymbol" type="int"> + <ipxact:name>bitsPerSymbol</ipxact:name> + <ipxact:displayName>Bits per symbol</ipxact:displayName> + <ipxact:value>8</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedAddressOffset" type="string"> + <ipxact:name>bridgedAddressOffset</ipxact:name> + <ipxact:displayName>Bridged Address Offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToMaster" type="string"> + <ipxact:name>bridgesToMaster</ipxact:name> + <ipxact:displayName>Bridges to master</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstOnBurstBoundariesOnly" type="bit"> + <ipxact:name>burstOnBurstBoundariesOnly</ipxact:name> + <ipxact:displayName>Burst on burst boundaries only</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="burstcountUnits" type="string"> + <ipxact:name>burstcountUnits</ipxact:name> + <ipxact:displayName>Burstcount units</ipxact:displayName> + <ipxact:value>WORDS</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="constantBurstBehavior" type="bit"> + <ipxact:name>constantBurstBehavior</ipxact:name> + <ipxact:displayName>Constant burst behavior</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="explicitAddressSpan" type="string"> + <ipxact:name>explicitAddressSpan</ipxact:name> + <ipxact:displayName>Explicit address span</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="holdTime" type="int"> + <ipxact:name>holdTime</ipxact:name> + <ipxact:displayName>Hold</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="interleaveBursts" type="bit"> + <ipxact:name>interleaveBursts</ipxact:name> + <ipxact:displayName>Interleave bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isBigEndian" type="bit"> + <ipxact:name>isBigEndian</ipxact:name> + <ipxact:displayName>Big endian</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isFlash" type="bit"> + <ipxact:name>isFlash</ipxact:name> + <ipxact:displayName>Flash memory</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isMemoryDevice" type="bit"> + <ipxact:name>isMemoryDevice</ipxact:name> + <ipxact:displayName>Memory device</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="isNonVolatileStorage" type="bit"> + <ipxact:name>isNonVolatileStorage</ipxact:name> + <ipxact:displayName>Non-volatile storage</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="linewrapBursts" type="bit"> + <ipxact:name>linewrapBursts</ipxact:name> + <ipxact:displayName>Linewrap bursts</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingReadTransactions" type="int"> + <ipxact:name>maximumPendingReadTransactions</ipxact:name> + <ipxact:displayName>Maximum pending read transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="maximumPendingWriteTransactions" type="int"> + <ipxact:name>maximumPendingWriteTransactions</ipxact:name> + <ipxact:displayName>Maximum pending write transactions</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumReadLatency" type="int"> + <ipxact:name>minimumReadLatency</ipxact:name> + <ipxact:displayName>minimumReadLatency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumResponseLatency" type="int"> + <ipxact:name>minimumResponseLatency</ipxact:name> + <ipxact:displayName>Minimum response latency</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="minimumUninterruptedRunLength" type="int"> + <ipxact:name>minimumUninterruptedRunLength</ipxact:name> + <ipxact:displayName>Minimum uninterrupted run length</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="prSafe" type="bit"> + <ipxact:name>prSafe</ipxact:name> + <ipxact:displayName>Partial Reconfiguration Safe</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="printableDevice" type="bit"> + <ipxact:name>printableDevice</ipxact:name> + <ipxact:displayName>Can receive stdout/stderr</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readLatency" type="int"> + <ipxact:name>readLatency</ipxact:name> + <ipxact:displayName>Read latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitStates" type="int"> + <ipxact:name>readWaitStates</ipxact:name> + <ipxact:displayName>Read wait states</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="readWaitTime" type="int"> + <ipxact:name>readWaitTime</ipxact:name> + <ipxact:displayName>Read wait</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerIncomingSignals" type="bit"> + <ipxact:name>registerIncomingSignals</ipxact:name> + <ipxact:displayName>Register incoming signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="registerOutgoingSignals" type="bit"> + <ipxact:name>registerOutgoingSignals</ipxact:name> + <ipxact:displayName>Register outgoing signals</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="setupTime" type="int"> + <ipxact:name>setupTime</ipxact:name> + <ipxact:displayName>Setup</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timingUnits" type="string"> + <ipxact:name>timingUnits</ipxact:name> + <ipxact:displayName>Timing units</ipxact:displayName> + <ipxact:value>Cycles</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="transparentBridge" type="bit"> + <ipxact:name>transparentBridge</ipxact:name> + <ipxact:displayName>Transparent bridge</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="waitrequestAllowance" type="int"> + <ipxact:name>waitrequestAllowance</ipxact:name> + <ipxact:displayName>Waitrequest allowance</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="wellBehavedWaitrequest" type="bit"> + <ipxact:name>wellBehavedWaitrequest</ipxact:name> + <ipxact:displayName>Well-behaved waitrequest</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeLatency" type="int"> + <ipxact:name>writeLatency</ipxact:name> + <ipxact:displayName>Write latency</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitStates" type="int"> + <ipxact:name>writeWaitStates</ipxact:name> + <ipxact:displayName>Write wait states</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="writeWaitTime" type="int"> + <ipxact:name>writeWaitTime</ipxact:name> + <ipxact:displayName>Write wait</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + <ipxact:vendorExtensions> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.configuration.isFlash" type="string"> + <ipxact:name>embeddedsw.configuration.isFlash</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isMemoryDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isMemoryDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isNonVolatileStorage" type="string"> + <ipxact:name>embeddedsw.configuration.isNonVolatileStorage</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isPrintableDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isPrintableDevice</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.configuration.isTimerDevice" type="string"> + <ipxact:name>embeddedsw.configuration.isTimerDevice</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + </ipxact:vendorExtensions> + </ipxact:busInterface> + <ipxact:busInterface> + <ipxact:name>irq</ipxact:name> + <ipxact:busType vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:busType> + <ipxact:abstractionTypes> + <ipxact:abstractionType> + <ipxact:abstractionRef vendor="altera" library="altera" name="interrupt" version="19.4"></ipxact:abstractionRef> + <ipxact:portMaps> + <ipxact:portMap> + <ipxact:logicalPort> + <ipxact:name>irq</ipxact:name> + </ipxact:logicalPort> + <ipxact:physicalPort> + <ipxact:name>irq</ipxact:name> + </ipxact:physicalPort> + </ipxact:portMap> + </ipxact:portMaps> + </ipxact:abstractionType> + </ipxact:abstractionTypes> + <ipxact:slave></ipxact:slave> + <ipxact:parameters> + <ipxact:parameter parameterId="associatedAddressablePoint" type="string"> + <ipxact:name>associatedAddressablePoint</ipxact:name> + <ipxact:displayName>Associated addressable interface</ipxact:displayName> + <ipxact:value>qsys_lofar2_unb2c_ddrctrl_timer_0.s1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedClock" type="string"> + <ipxact:name>associatedClock</ipxact:name> + <ipxact:displayName>Associated clock</ipxact:displayName> + <ipxact:value>clk</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="associatedReset" type="string"> + <ipxact:name>associatedReset</ipxact:name> + <ipxact:displayName>Associated reset</ipxact:displayName> + <ipxact:value>reset</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgedReceiverOffset" type="longint"> + <ipxact:name>bridgedReceiverOffset</ipxact:name> + <ipxact:displayName>Bridged receiver offset</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bridgesToReceiver" type="string"> + <ipxact:name>bridgesToReceiver</ipxact:name> + <ipxact:displayName>Bridges to receiver</ipxact:displayName> + <ipxact:value></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="irqScheme" type="string"> + <ipxact:name>irqScheme</ipxact:name> + <ipxact:displayName>Interrupt scheme</ipxact:displayName> + <ipxact:value>NONE</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </ipxact:busInterface> + </ipxact:busInterfaces> + <ipxact:model> + <ipxact:views> + <ipxact:view> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:envIdentifier>:quartus.altera.com:</ipxact:envIdentifier> + <ipxact:componentInstantiationRef>QUARTUS_SYNTH</ipxact:componentInstantiationRef> + </ipxact:view> + </ipxact:views> + <ipxact:instantiations> + <ipxact:componentInstantiation> + <ipxact:name>QUARTUS_SYNTH</ipxact:name> + <ipxact:moduleName>altera_avalon_timer</ipxact:moduleName> + <ipxact:fileSetRef> + <ipxact:localName>QUARTUS_SYNTH</ipxact:localName> + </ipxact:fileSetRef> + <ipxact:parameters></ipxact:parameters> + </ipxact:componentInstantiation> + </ipxact:instantiations> + <ipxact:ports> + <ipxact:port> + <ipxact:name>clk</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>reset_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>address</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>2</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>writedata</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>15</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>readdata</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors> + <ipxact:vector> + <ipxact:left>0</ipxact:left> + <ipxact:right>15</ipxact:right> + </ipxact:vector> + </ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC_VECTOR</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>chipselect</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>write_n</ipxact:name> + <ipxact:wire> + <ipxact:direction>in</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + <ipxact:port> + <ipxact:name>irq</ipxact:name> + <ipxact:wire> + <ipxact:direction>out</ipxact:direction> + <ipxact:vectors></ipxact:vectors> + <ipxact:wireTypeDefs> + <ipxact:wireTypeDef> + <ipxact:typeName>STD_LOGIC</ipxact:typeName> + <ipxact:viewRef>QUARTUS_SYNTH</ipxact:viewRef> + </ipxact:wireTypeDef> + </ipxact:wireTypeDefs> + </ipxact:wire> + </ipxact:port> + </ipxact:ports> + </ipxact:model> + <ipxact:vendorExtensions> + <altera:entity_info> + <ipxact:vendor>Intel Corporation</ipxact:vendor> + <ipxact:library>qsys_lofar2_unb2c_ddrctrl_timer_0</ipxact:library> + <ipxact:name>altera_avalon_timer</ipxact:name> + <ipxact:version>19.1.0</ipxact:version> + </altera:entity_info> + <altera:altera_module_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="alwaysRun" type="bit"> + <ipxact:name>alwaysRun</ipxact:name> + <ipxact:displayName>No Start/Stop control bits</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="counterSize" type="int"> + <ipxact:name>counterSize</ipxact:name> + <ipxact:displayName>Counter Size</ipxact:displayName> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="fixedPeriod" type="bit"> + <ipxact:name>fixedPeriod</ipxact:name> + <ipxact:displayName>Fixed period</ipxact:displayName> + <ipxact:value>true</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="period" type="string"> + <ipxact:name>period</ipxact:name> + <ipxact:displayName>Period</ipxact:displayName> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="periodUnits" type="string"> + <ipxact:name>periodUnits</ipxact:name> + <ipxact:displayName>Units</ipxact:displayName> + <ipxact:value>MSEC</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="resetOutput" type="bit"> + <ipxact:name>resetOutput</ipxact:name> + <ipxact:displayName>System reset on timeout (Watchdog)</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="snapshot" type="bit"> + <ipxact:name>snapshot</ipxact:name> + <ipxact:displayName>Readable snapshot</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timeoutPulseOutput" type="bit"> + <ipxact:name>timeoutPulseOutput</ipxact:name> + <ipxact:displayName>Timeout pulse (1 clock wide)</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemFrequency" type="longint"> + <ipxact:name>systemFrequency</ipxact:name> + <ipxact:displayName>systemFrequency</ipxact:displayName> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="watchdogPulse" type="int"> + <ipxact:name>watchdogPulse</ipxact:name> + <ipxact:displayName>Watchdog Timer Pulse Length</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="timerPreset" type="string"> + <ipxact:name>timerPreset</ipxact:name> + <ipxact:displayName>Presets</ipxact:displayName> + <ipxact:value>SIMPLE_PERIODIC_INTERRUPT</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="periodUnitsString" type="string"> + <ipxact:name>periodUnitsString</ipxact:name> + <ipxact:displayName>periodUnitsString</ipxact:displayName> + <ipxact:value>ms</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="valueInSecond" type="real"> + <ipxact:name>valueInSecond</ipxact:name> + <ipxact:displayName>valueInSecond</ipxact:displayName> + <ipxact:value>0.001</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="loadValue" type="string"> + <ipxact:name>loadValue</ipxact:name> + <ipxact:displayName>loadValue</ipxact:displayName> + <ipxact:value>124999</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="mult" type="real"> + <ipxact:name>mult</ipxact:name> + <ipxact:displayName>mult</ipxact:displayName> + <ipxact:value>0.001</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="ticksPerSec" type="real"> + <ipxact:name>ticksPerSec</ipxact:name> + <ipxact:displayName>ticksPerSec</ipxact:displayName> + <ipxact:value>1000.0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="slave_address_width" type="int"> + <ipxact:name>slave_address_width</ipxact:name> + <ipxact:displayName>slave_address_width</ipxact:displayName> + <ipxact:value>3</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_module_parameters> + <altera:altera_assignments> + <ipxact:parameters> + <ipxact:parameter parameterId="embeddedsw.CMacro.ALWAYS_RUN" type="string"> + <ipxact:name>embeddedsw.CMacro.ALWAYS_RUN</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.COUNTER_SIZE" type="string"> + <ipxact:name>embeddedsw.CMacro.COUNTER_SIZE</ipxact:name> + <ipxact:value>32</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.FIXED_PERIOD" type="string"> + <ipxact:name>embeddedsw.CMacro.FIXED_PERIOD</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.FREQ" type="string"> + <ipxact:name>embeddedsw.CMacro.FREQ</ipxact:name> + <ipxact:value>125000000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.LOAD_VALUE" type="string"> + <ipxact:name>embeddedsw.CMacro.LOAD_VALUE</ipxact:name> + <ipxact:value>124999</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.MULT" type="string"> + <ipxact:name>embeddedsw.CMacro.MULT</ipxact:name> + <ipxact:value>0.001</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.PERIOD" type="string"> + <ipxact:name>embeddedsw.CMacro.PERIOD</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.PERIOD_UNITS" type="string"> + <ipxact:name>embeddedsw.CMacro.PERIOD_UNITS</ipxact:name> + <ipxact:value>ms</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.RESET_OUTPUT" type="string"> + <ipxact:name>embeddedsw.CMacro.RESET_OUTPUT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.SNAPSHOT" type="string"> + <ipxact:name>embeddedsw.CMacro.SNAPSHOT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.TICKS_PER_SEC" type="string"> + <ipxact:name>embeddedsw.CMacro.TICKS_PER_SEC</ipxact:name> + <ipxact:value>1000</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.CMacro.TIMEOUT_PULSE_OUTPUT" type="string"> + <ipxact:name>embeddedsw.CMacro.TIMEOUT_PULSE_OUTPUT</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="embeddedsw.dts.vendor" type="string"> + <ipxact:name>embeddedsw.dts.vendor</ipxact:name> + <ipxact:value>altr</ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_assignments> + <altera:altera_system_parameters> + <ipxact:parameters> + <ipxact:parameter parameterId="device" type="string"> + <ipxact:name>device</ipxact:name> + <ipxact:displayName>Device</ipxact:displayName> + <ipxact:value>10AX115U3F45E2SG</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceFamily" type="string"> + <ipxact:name>deviceFamily</ipxact:name> + <ipxact:displayName>Device family</ipxact:displayName> + <ipxact:value>Arria 10</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="deviceSpeedGrade" type="string"> + <ipxact:name>deviceSpeedGrade</ipxact:name> + <ipxact:displayName>Device Speed Grade</ipxact:displayName> + <ipxact:value>2</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="generationId" type="int"> + <ipxact:name>generationId</ipxact:name> + <ipxact:displayName>Generation Id</ipxact:displayName> + <ipxact:value>0</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="bonusData" type="string"> + <ipxact:name>bonusData</ipxact:name> + <ipxact:displayName>bonusData</ipxact:displayName> + <ipxact:value>bonusData +{ + element $system + { + datum _originalDeviceFamily + { + value = "Arria 10"; + type = "String"; + } + } + element timer_0 + { + } +} +</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="hideFromIPCatalog" type="bit"> + <ipxact:name>hideFromIPCatalog</ipxact:name> + <ipxact:displayName>Hide from IP Catalog</ipxact:displayName> + <ipxact:value>false</ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="lockedInterfaceDefinition" type="string"> + <ipxact:name>lockedInterfaceDefinition</ipxact:name> + <ipxact:displayName>lockedInterfaceDefinition</ipxact:displayName> + <ipxact:value><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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>16</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>16</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isTimerDevice</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>8</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>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> + </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_timer&lt;/name&gt;&lt;baseAddress&gt;0x00000000&lt;/baseAddress&gt; + &lt;addressBlock&gt; + &lt;offset&gt;0x0&lt;/offset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;usage&gt;registers&lt;/usage&gt; + &lt;/addressBlock&gt; + &lt;registers&gt; + &lt;register&gt; + &lt;name&gt;status&lt;/name&gt; + &lt;displayName&gt;Status&lt;/displayName&gt; + &lt;description&gt;The status register has two defined bits. TO (timeout), RUN&lt;/description&gt; + &lt;addressOffset&gt;0x0&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;fields&gt; + &lt;field&gt;&lt;name&gt;TO&lt;/name&gt; + &lt;description&gt;The TO (timeout) bit is set to 1 when the internal counter reaches zero. Once set by a timeout event, the TO bit stays set until explicitly cleared by a master peripheral. Write zero to the status register to clear the TO bit.&lt;/description&gt; + &lt;bitOffset&gt;0x0&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;read-only&lt;/access&gt; + &lt;readAction&gt;clear&lt;/readAction&gt; + &lt;/field&gt; + &lt;field&gt;&lt;name&gt;RUN&lt;/name&gt; + &lt;description&gt;The RUN bit reads as 1 when the internal counter is running; otherwise this bit reads as 0. The RUN bit is not changed by + a write operation to the status register.&lt;/description&gt; + &lt;bitOffset&gt;1&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;Reserved&lt;/name&gt; + &lt;description&gt;Reserved&lt;/description&gt; + &lt;bitOffset&gt;2&lt;/bitOffset&gt; + &lt;bitWidth&gt;14&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;parameters&gt; + &lt;parameter&gt; + &lt;name&gt;Reserved&lt;/name&gt; + &lt;value&gt;true&lt;/value&gt; + &lt;/parameter&gt; + &lt;/parameters&gt; + &lt;/field&gt; + &lt;/fields&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;control&lt;/name&gt; + &lt;description&gt;The control register has four defined bits. ITO (Timeout Interrupt), CONT (continue), START, STOP&lt;/description&gt; + &lt;addressOffset&gt;0x1&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;reset&gt; + &lt;value&gt;0x0&lt;/value&gt; + &lt;/reset&gt; + &lt;field&gt; + &lt;name&gt;ITO&lt;/name&gt; + &lt;description&gt;If the ITO bit is 1, the interval timer core generates an IRQ when the status register's TO bit is 1. When the ITO bit is 0, the timer does not generate IRQs.&lt;/description&gt; + &lt;bitOffset&gt;0&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;CONT&lt;/name&gt; + &lt;description&gt;The CONT (continuous) bit determines how the internal counter behaves when it reaches zero. If the CONT bit is 1, the counter runs continuously until it is stopped by the STOP bit. If CONT is 0, the counter stops after it reaches zero. When the counter reaches zero, it reloads with the value stored in the period registers, regardless of the CONT bit.&lt;/description&gt; + &lt;bitOffset&gt;1&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;START&lt;/name&gt; + &lt;description&gt;Writing a 1 to the START bit starts the internal counter running (counting down). The START bit is an event bit that enables the counter when a write operation is performed. If the timer is stopped, writing a 1 to the START bit causes the timer to restart counting from the number currently stored in its counter. If the timer is already running, writing a 1 to START has no effect. Writing 0 to the START bit has no effect.&lt;/description&gt; + &lt;bitOffset&gt;2&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;write-only&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt; + &lt;name&gt;STOP&lt;/name&gt; + &lt;description&gt;Writing a 1 to the STOP bit stops the internal counter. The STOP bit is an event bit that causes the counter to stop when a write operation is performed. If the timer is already stopped, writing a 1 to STOP has no effect. Writing a 0 to the stop bit has no effect. If the timer hardware is configured with Start/Stop control bits off, writing the STOP bit has no effect.&lt;/description&gt; + &lt;bitOffset&gt;3&lt;/bitOffset&gt; + &lt;bitWidth&gt;1&lt;/bitWidth&gt; + &lt;access&gt;write-only&lt;/access&gt; + &lt;/field&gt; + &lt;field&gt; + &lt;name&gt;Reserved&lt;/name&gt; + &lt;description&gt;Reserved&lt;/description&gt; + &lt;bitOffset&gt;4&lt;/bitOffset&gt; + &lt;bitWidth&gt;12&lt;/bitWidth&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;parameters&gt; + &lt;parameter&gt; + &lt;name&gt;Reserved&lt;/name&gt; + &lt;value&gt;true&lt;/value&gt; + &lt;/parameter&gt; + &lt;/parameters&gt; + &lt;/field&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${period_name_0}&lt;/name&gt; + &lt;description&gt;The period_n registers together store the timeout period value when a write operation to one of the period_n register or the internal counter reaches 0. The timer's actual period is one cycle greater than the value stored in the period_n registers because the counter assumes the value zero for one clock cycle. Writing to one of the period_n registers stops the internal counter, except when the hardware is configured with Start/Stop control bits off. If Start/Stop control bits is off, writing either register does not stop the counter. When the hardware is configured with Writeable period disabled, writing to one of the period_n registers causes the counter to reset to the fixed Timeout Period specified at system generation time.&lt;/description&gt; + &lt;addressOffset&gt;0x2&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;${period_name_0_reset_value}&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${period_name_1}&lt;/name&gt; + &lt;description&gt;&lt;/description&gt; + &lt;addressOffset&gt;0x3&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;${period_name_1_reset_value}&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${period_snap_0}&lt;/name&gt; + &lt;description&gt;&lt;/description&gt; + &lt;addressOffset&gt;0x4&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;${period_snap_0_reset_value}&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${period_snap_1}&lt;/name&gt; + &lt;description&gt;&lt;/description&gt; + &lt;addressOffset&gt;0x5&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;${period_snap_1_reset_value}&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${snap_0}&lt;/name&gt; + &lt;description&gt;A master peripheral may request a coherent snapshot of the current internal counter by performing a write operation (write-data ignored) to one of the snap_n registers. When a write occurs, the value of the counter is copied to snap_n registers. The snapshot occurs whether or not the counter is running. Requesting a snapshot does not change the internal counter's operation.&lt;/description&gt; + &lt;addressOffset&gt;0x6&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${snap_1}&lt;/name&gt; + &lt;description&gt;&lt;/description&gt; + &lt;addressOffset&gt;0x7&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${snap_2}&lt;/name&gt; + &lt;description&gt;&lt;/description&gt; + &lt;addressOffset&gt;0x8&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;register&gt; + &lt;name&gt;${snap_3}&lt;/name&gt; + &lt;description&gt;&lt;/description&gt; + &lt;addressOffset&gt;0x9&lt;/addressOffset&gt; + &lt;size&gt;16&lt;/size&gt; + &lt;access&gt;read-write&lt;/access&gt; + &lt;resetValue&gt;0x0&lt;/resetValue&gt; + &lt;resetMask&gt;0xffff&lt;/resetMask&gt; + &lt;/register&gt; + &lt;/registers&gt; + &lt;/peripheral&gt; + &lt;/peripherals&gt; +&lt;/device&gt; </cmsisSrcFileContents> + <addressGroup></addressGroup> + <cmsisVars> + <entry> + <key>period_name_1_reset_value</key> + <value>0x1</value> + </entry> + <entry> + <key>snap_0</key> + <value>Reserved</value> + </entry> + <entry> + <key>period_name_0_reset_value</key> + <value>0xe847</value> + </entry> + <entry> + <key>snap_2</key> + <value>Reserved</value> + </entry> + <entry> + <key>snap_1</key> + <value>Reserved</value> + </entry> + <entry> + <key>snap_3</key> + <value>Reserved</value> + </entry> + <entry> + <key>period_name_0</key> + <value>periodl</value> + </entry> + <entry> + <key>period_name_1</key> + <value>periodh</value> + </entry> + <entry> + <key>period_snap_1</key> + <value>snaph</value> + </entry> + <entry> + <key>period_snap_1_reset_value</key> + <value>0x0</value> + </entry> + <entry> + <key>period_snap_0_reset_value</key> + <value>0x0</value> + </entry> + <entry> + <key>period_snap_0</key> + <value>snapl</value> + </entry> + </cmsisVars> + </cmsisInfo> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>qsys_lofar2_unb2c_ddrctrl_timer_0.s1</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></ipxact:value> + </ipxact:parameter> + <ipxact:parameter parameterId="systemInfos" type="string"> + <ipxact:name>systemInfos</ipxact:name> + <ipxact:displayName>systemInfos</ipxact:displayName> + <ipxact:value><systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>s1</key> + <value> + <connectionPointName>s1</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value>&lt;address-map&gt;&lt;slave name='s1' start='0x0' end='0x20' datawidth='16' /&gt;&lt;/address-map&gt;</value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>16</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition></ipxact:value> + </ipxact:parameter> + </ipxact:parameters> + </altera:altera_system_parameters> + <altera:altera_interface_boundary> + <altera:interface_mapping altera:name="clk" altera:internal="timer_0.clk" altera:type="clock" altera:dir="end"> + <altera:port_mapping altera:name="clk" altera:internal="clk"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="irq" altera:internal="timer_0.irq" altera:type="interrupt" altera:dir="end"> + <altera:port_mapping altera:name="irq" altera:internal="irq"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="reset" altera:internal="timer_0.reset" altera:type="reset" altera:dir="end"> + <altera:port_mapping altera:name="reset_n" altera:internal="reset_n"></altera:port_mapping> + </altera:interface_mapping> + <altera:interface_mapping altera:name="s1" altera:internal="timer_0.s1" altera:type="avalon" altera:dir="end"> + <altera:port_mapping altera:name="address" altera:internal="address"></altera:port_mapping> + <altera:port_mapping altera:name="chipselect" altera:internal="chipselect"></altera:port_mapping> + <altera:port_mapping altera:name="readdata" altera:internal="readdata"></altera:port_mapping> + <altera:port_mapping altera:name="write_n" altera:internal="write_n"></altera:port_mapping> + <altera:port_mapping altera:name="writedata" altera:internal="writedata"></altera:port_mapping> + </altera:interface_mapping> + </altera:altera_interface_boundary> + <altera:altera_has_warnings>false</altera:altera_has_warnings> + <altera:altera_has_errors>false</altera:altera_has_errors> + </ipxact:vendorExtensions> +</ipxact:component> \ No newline at end of file diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl.sof.zip b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl.sof.zip new file mode 100644 index 0000000000000000000000000000000000000000..e277ca5122f3efcd1647faf98f391d8b055f88eb GIT binary patch literal 896737 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�rl{2*iN=OM?mt=ZgQ0zGaNSOpnRyZSNj1(5Wnr}vTO@Va^m{?f)Jg9 z%agx%;J~`?QKvhVnrCPpOBTPDeiQ17_KdTq<Amxsp~J*Om3^F!jNRFgkS7Oo0*xEN zRni~=-|dX#?y^N!P(}0ND%;G|>8Q-VC0(4xvhO1lX#n1a?+JJ7nWCs>%&D3i0FNJ3 znTV*E+EPKZn`ACoE2U;^+-dw0QS<PL+^F&miAQ1QIX0=be?Sq#GWRxvdENHT^^Qhu z5DV2j$sZ-edpDwDB-B<-uIkfqax*olQt|hRDjt1zWp+({u!AbcwYd$&hZx7?NKQXy zjac{WP9zPT+T!?wgvMvv%ac>mohhGd|CR#sf|cI=X95MiuU328D4PkNWYZ;NX!SIJ z2lID?1gNF+_u;%qR#!?>znagFL2f~s{NT4B>cQO-07b(8oXbP3C*9<O@DqWO)uT|l zlF6qqbUQ*j=(>ZL?zJVLW+jhCzOb>t!&g=tU=R>PNIk>u0>sLKj;0@-#sJ5UrU3f+ z5<sny^8H<!dC+@>$!?gT$-&zCJ;b^<(%Qt$q{;l4N^f7tahEQCtIjH=CB<cgNG0s~ z00B3AT%Ch^948Yf0RUZu$|J(>!W8#%(nsgY;h1tb{|fWoHn1Ncm1*|$4Ro~@&;|Fw zYFAGZ7#e0hXBw7`0^hRDT*r_gW4}{<zbSLZg`J`&wyC68tD1Z+n(>6yU0gll*!Zx{ z*%H}FKCWO#WN(wIz;|a$rIS4r9vhKJG00{Pq9Ox3zI=c#mX=4@K^}{x6;LG-u@W>| zJg)@bX#ZPJgWRbNyr-#Ss-pMlA#XN>68PDK?CrDIopMC7(|83rMJsuo-)9sQ4cxPz zu!eK`D{wE&E4zV!f;zy8?3#$(OTPSNwVHRS!lDDG8?e@78oTV<qNI5(35lb*Y@W(l zxtV4PyENrKK`ucEBg=Ni>`ru{x$15-pOD^-HsJ><)!~8{s+|0A#5*F0@Vc(XNof$C zj>*)$2M@_ExKpXH^Rcjc6=e|j76=uqqi_dr2(j|w`MG@}c9Cfp1KBW`uA8w%fhd~u zZHOk^1TK*TH=8+wv76fHpTzqn8+;4h0Ax@J#|?vQklW7;WG%Q!b?#w0-1USu^aMz8 zxg+|f4C^cCa?kW(_+|muwG{ZcfR8s`eO&Y?0XP$he1)@D1cDBz^91QRtbF}P1bp=_ z&o;NpUZS&fF`WYeZS5d-FbTR4y$rGEHFhvbL8|wrjOXPXOcL;;o8?ICfvoHWL!rr` zkH4Q~{E?~=yEhIdtf_J?E|kuF27>Ds>yo)mV}a`Et=*H!6qI{ndIa$Ewj|6!ar;$w zAh>j|K(SWueMysvtv9e<A)ecoW_pI!Ne?1=Jh=uzW}l-&(*+lUG_inFx*gBj5#K}3 z`)41vI-1P)v|=Eur1#dHW%ky;s>|$Y)!EuNpU|9IQCPf=aT86jtiC6MdB|+35?YB8 z?I^cBI~ye**&@zk_^88i|M0z;CBY=qA+ZkK8NWd%GfJ3bcL$`((iHOZEp%iW%;Fr| zCXditvPP7(_QswSSt*b5#KY&k^k43K!9$FoS{^#w_s2feR`D26xp}CSIDy&ipNI_b zBhkTg=z~cPAaqrxB9k5*x>D0O0-qb`VsN91EyCp4vUP=H#<|t9z-(u)QxvC6jO%kc z_z~<@P`gIIymXFD7k{p&#YlO|%ap9RWjddZslmwkCAE5~${w-n=#ta1b8oQLWzw=J z#XOG5_3P7V4N~FjvsB75g?ZsYp7i3VM6ddZ9Ch{nIb`u?6wGyH>T9?~WJUVRX++hu zn(WnVI$#!~UO^8+?$OEduA;)|0Dp74u9?i`#?0cvSCDwr&}>biK|w!hSy)FtJgQlW z<eV?1RS!yTN4f6+nrIx=zay~ouLw-{f5ZA<Xl10MWoKY+rDbbiVf%0D2gfCjU+M>& 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%0D3nE|EsPXnh@Yy<x`x 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�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 literal 0 HcmV?d00001 diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl_pins.tcl b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl_pins.tcl new file mode 100644 index 0000000000..ae417258f8 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/lofar2_unb2c_ddrctrl_pins.tcl @@ -0,0 +1,22 @@ +############################################################################### +# +# Copyright (C) 2014 +# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################### + +source $::env(RADIOHDL_WORK)/boards/uniboard2c/libraries/unb2c_board/quartus/pinning/unb2c_minimal_pins.tcl diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/qsys_lofar2_unb2c_ddrctrl.qsys b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/qsys_lofar2_unb2c_ddrctrl.qsys new file mode 100644 index 0000000000..4d629bdec6 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/quartus/qsys_lofar2_unb2c_ddrctrl.qsys @@ -0,0 +1,26469 @@ +<?xml version="1.0" encoding="UTF-8"?> +<system name="qsys_unb2c_minimal"> + <component + name="$${FILENAME}" + displayName="$${FILENAME}" + version="1.0" + description="" + tags="" + categories="System" + tool="QsysPro" /> + <parameter name="bonusData"><![CDATA[bonusData +{ + element avs_eth_0 + { + datum _sortIndex + { + value = "6"; + type = "int"; + } + } + element avs_eth_0.mms_ram + { + datum baseAddress + { + value = "8192"; + type = "String"; + } + } + element avs_eth_0.mms_reg + { + datum baseAddress + { + value = "128"; + type = "String"; + } + } + element avs_eth_0.mms_tse + { + datum baseAddress + { + value = "4096"; + type = "String"; + } + } + element clk_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } + element cpu_0 + { + datum _sortIndex + { + value = "1"; + type = "int"; + } + } + element cpu_0.debug_mem_slave + { + datum baseAddress + { + value = "16384"; + type = "String"; + } + } + element jtag_uart_0 + { + datum _sortIndex + { + value = "3"; + type = "int"; + } + } + element jtag_uart_0.avalon_jtag_slave + { + datum baseAddress + { + value = "448"; + type = "String"; + } + } + element onchip_memory2_0 + { + datum _sortIndex + { + value = "2"; + type = "int"; + } + } + element onchip_memory2_0.s1 + { + datum _lockedAddress + { + value = "1"; + type = "boolean"; + } + datum baseAddress + { + value = "131072"; + type = "String"; + } + } + element pio_pps + { + datum _sortIndex + { + value = "9"; + type = "int"; + } + } + element pio_pps.mem + { + datum baseAddress + { + value = "400"; + type = "String"; + } + } + element pio_system_info + { + datum _sortIndex + { + value = "8"; + type = "int"; + } + } + element pio_system_info.mem + { + datum _lockedAddress + { + value = "1"; + type = "boolean"; + } + datum baseAddress + { + value = "0"; + type = "String"; + } + } + element pio_wdi + { + datum _sortIndex + { + value = "4"; + type = "int"; + } + } + element pio_wdi.s1 + { + datum baseAddress + { + value = "384"; + type = "String"; + } + } + element ram_scrap + { + datum _sortIndex + { + value = "19"; + type = "int"; + } + } + element ram_scrap.mem + { + datum baseAddress + { + value = "14336"; + type = "String"; + } + } + element reg_dpmm_ctrl + { + datum _sortIndex + { + value = "14"; + type = "int"; + } + } + element reg_dpmm_ctrl.mem + { + datum baseAddress + { + value = "440"; + type = "String"; + } + } + element reg_dpmm_data + { + datum _sortIndex + { + value = "15"; + type = "int"; + } + } + element reg_dpmm_data.mem + { + datum baseAddress + { + value = "432"; + type = "String"; + } + } + element reg_epcs + { + datum _sortIndex + { + value = "12"; + type = "int"; + } + } + element reg_epcs.mem + { + datum baseAddress + { + value = "288"; + type = "String"; + } + } + element reg_fpga_temp_sens + { + datum _sortIndex + { + value = "7"; + type = "int"; + } + } + element reg_fpga_temp_sens.mem + { + datum baseAddress + { + value = "352"; + type = "String"; + } + } + element reg_fpga_voltage_sens + { + datum _sortIndex + { + value = "18"; + type = "int"; + } + } + element reg_fpga_voltage_sens.mem + { + datum baseAddress + { + value = "192"; + type = "String"; + } + } + element reg_mmdp_ctrl + { + datum _sortIndex + { + value = "16"; + type = "int"; + } + } + element reg_mmdp_ctrl.mem + { + datum baseAddress + { + value = "424"; + type = "String"; + } + } + element reg_mmdp_data + { + datum _sortIndex + { + value = "17"; + type = "int"; + } + } + element reg_mmdp_data.mem + { + datum baseAddress + { + value = "416"; + type = "String"; + } + } + element reg_remu + { + datum _sortIndex + { + value = "11"; + type = "int"; + } + } + element reg_remu.mem + { + datum baseAddress + { + value = "320"; + type = "String"; + } + } + element reg_wdi + { + datum _sortIndex + { + value = "10"; + type = "int"; + } + } + element reg_wdi.mem + { + datum _lockedAddress + { + value = "1"; + type = "boolean"; + } + datum baseAddress + { + value = "12288"; + type = "String"; + } + } + element rom_system_info + { + datum _sortIndex + { + value = "13"; + type = "int"; + } + } + element rom_system_info.mem + { + datum _lockedAddress + { + value = "1"; + type = "boolean"; + } + datum baseAddress + { + value = "65536"; + type = "String"; + } + } + element timer_0 + { + datum _sortIndex + { + value = "5"; + type = "int"; + } + } + element timer_0.s1 + { + datum baseAddress + { + value = "256"; + type = "String"; + } + } +} +]]></parameter> + <parameter name="device" value="10AX115U3F45E2SG" /> + <parameter name="deviceFamily" value="Arria 10" /> + <parameter name="deviceSpeedGrade" value="2" /> + <parameter name="fabricMode" value="QSYS" /> + <parameter name="generateLegacySim" value="false" /> + <parameter name="generationId" value="0" /> + <parameter name="globalResetBus" value="false" /> + <parameter name="hdlLanguage" value="VERILOG" /> + <parameter name="hideFromIPCatalog" value="false" /> + <parameter name="lockedInterfaceDefinition" value="" /> + <parameter name="sopcBorderPoints" value="false" /> + <parameter name="systemHash" value="0" /> + <parameter name="systemInfos"><![CDATA[<systemInfosDefinition> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> +</systemInfosDefinition>]]></parameter> + <parameter name="systemScripts" value="" /> + <parameter name="testBenchDutName" value="" /> + <parameter name="timeStamp" value="0" /> + <parameter name="useTestBenchNamingPattern" value="false" /> + <instanceScript></instanceScript> + <interface + name="avs_eth_0_clk" + internal="avs_eth_0.clk" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_irq" + internal="avs_eth_0.irq" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_ram_address" + internal="avs_eth_0.ram_address" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_ram_read" + internal="avs_eth_0.ram_read" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_ram_readdata" + internal="avs_eth_0.ram_readdata" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_ram_write" + internal="avs_eth_0.ram_write" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_ram_writedata" + internal="avs_eth_0.ram_writedata" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_reg_address" + internal="avs_eth_0.reg_address" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_reg_read" + internal="avs_eth_0.reg_read" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_reg_readdata" + internal="avs_eth_0.reg_readdata" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_reg_write" + internal="avs_eth_0.reg_write" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_reg_writedata" + internal="avs_eth_0.reg_writedata" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_reset" + internal="avs_eth_0.reset" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_tse_address" + internal="avs_eth_0.tse_address" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_tse_read" + internal="avs_eth_0.tse_read" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_tse_readdata" + internal="avs_eth_0.tse_readdata" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_tse_waitrequest" + internal="avs_eth_0.tse_waitrequest" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_tse_write" + internal="avs_eth_0.tse_write" + type="conduit" + dir="end" /> + <interface + name="avs_eth_0_tse_writedata" + internal="avs_eth_0.tse_writedata" + type="conduit" + dir="end" /> + <interface name="clk" internal="clk_0.clk_in" type="clock" dir="end" /> + <interface + name="pio_pps_address" + internal="pio_pps.address" + type="conduit" + dir="end" /> + <interface name="pio_pps_clk" internal="pio_pps.clk" type="conduit" dir="end" /> + <interface name="pio_pps_read" internal="pio_pps.read" type="conduit" dir="end" /> + <interface + name="pio_pps_readdata" + internal="pio_pps.readdata" + type="conduit" + dir="end" /> + <interface + name="pio_pps_reset" + internal="pio_pps.reset" + type="conduit" + dir="end" /> + <interface + name="pio_pps_write" + internal="pio_pps.write" + type="conduit" + dir="end" /> + <interface + name="pio_pps_writedata" + internal="pio_pps.writedata" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_address" + internal="pio_system_info.address" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_clk" + internal="pio_system_info.clk" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_read" + internal="pio_system_info.read" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_readdata" + internal="pio_system_info.readdata" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_reset" + internal="pio_system_info.reset" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_write" + internal="pio_system_info.write" + type="conduit" + dir="end" /> + <interface + name="pio_system_info_writedata" + internal="pio_system_info.writedata" + type="conduit" + dir="end" /> + <interface + name="pio_wdi_external_connection" + internal="pio_wdi.external_connection" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_address" + internal="ram_scrap.address" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_clk" + internal="ram_scrap.clk" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_read" + internal="ram_scrap.read" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_readdata" + internal="ram_scrap.readdata" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_reset" + internal="ram_scrap.reset" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_write" + internal="ram_scrap.write" + type="conduit" + dir="end" /> + <interface + name="ram_scrap_writedata" + internal="ram_scrap.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_address" + internal="reg_dpmm_ctrl.address" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_clk" + internal="reg_dpmm_ctrl.clk" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_read" + internal="reg_dpmm_ctrl.read" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_readdata" + internal="reg_dpmm_ctrl.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_reset" + internal="reg_dpmm_ctrl.reset" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_write" + internal="reg_dpmm_ctrl.write" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_ctrl_writedata" + internal="reg_dpmm_ctrl.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_address" + internal="reg_dpmm_data.address" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_clk" + internal="reg_dpmm_data.clk" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_read" + internal="reg_dpmm_data.read" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_readdata" + internal="reg_dpmm_data.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_reset" + internal="reg_dpmm_data.reset" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_write" + internal="reg_dpmm_data.write" + type="conduit" + dir="end" /> + <interface + name="reg_dpmm_data_writedata" + internal="reg_dpmm_data.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_epcs_address" + internal="reg_epcs.address" + type="conduit" + dir="end" /> + <interface name="reg_epcs_clk" internal="reg_epcs.clk" type="conduit" dir="end" /> + <interface + name="reg_epcs_read" + internal="reg_epcs.read" + type="conduit" + dir="end" /> + <interface + name="reg_epcs_readdata" + internal="reg_epcs.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_epcs_reset" + internal="reg_epcs.reset" + type="conduit" + dir="end" /> + <interface + name="reg_epcs_write" + internal="reg_epcs.write" + type="conduit" + dir="end" /> + <interface + name="reg_epcs_writedata" + internal="reg_epcs.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_address" + internal="reg_fpga_temp_sens.address" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_clk" + internal="reg_fpga_temp_sens.clk" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_read" + internal="reg_fpga_temp_sens.read" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_readdata" + internal="reg_fpga_temp_sens.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_reset" + internal="reg_fpga_temp_sens.reset" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_write" + internal="reg_fpga_temp_sens.write" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_temp_sens_writedata" + internal="reg_fpga_temp_sens.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_address" + internal="reg_fpga_voltage_sens.address" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_clk" + internal="reg_fpga_voltage_sens.clk" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_read" + internal="reg_fpga_voltage_sens.read" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_readdata" + internal="reg_fpga_voltage_sens.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_reset" + internal="reg_fpga_voltage_sens.reset" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_write" + internal="reg_fpga_voltage_sens.write" + type="conduit" + dir="end" /> + <interface + name="reg_fpga_voltage_sens_writedata" + internal="reg_fpga_voltage_sens.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_address" + internal="reg_mmdp_ctrl.address" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_clk" + internal="reg_mmdp_ctrl.clk" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_read" + internal="reg_mmdp_ctrl.read" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_readdata" + internal="reg_mmdp_ctrl.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_reset" + internal="reg_mmdp_ctrl.reset" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_write" + internal="reg_mmdp_ctrl.write" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_ctrl_writedata" + internal="reg_mmdp_ctrl.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_address" + internal="reg_mmdp_data.address" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_clk" + internal="reg_mmdp_data.clk" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_read" + internal="reg_mmdp_data.read" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_readdata" + internal="reg_mmdp_data.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_reset" + internal="reg_mmdp_data.reset" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_write" + internal="reg_mmdp_data.write" + type="conduit" + dir="end" /> + <interface + name="reg_mmdp_data_writedata" + internal="reg_mmdp_data.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_remu_address" + internal="reg_remu.address" + type="conduit" + dir="end" /> + <interface name="reg_remu_clk" internal="reg_remu.clk" type="conduit" dir="end" /> + <interface + name="reg_remu_read" + internal="reg_remu.read" + type="conduit" + dir="end" /> + <interface + name="reg_remu_readdata" + internal="reg_remu.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_remu_reset" + internal="reg_remu.reset" + type="conduit" + dir="end" /> + <interface + name="reg_remu_write" + internal="reg_remu.write" + type="conduit" + dir="end" /> + <interface + name="reg_remu_writedata" + internal="reg_remu.writedata" + type="conduit" + dir="end" /> + <interface + name="reg_wdi_address" + internal="reg_wdi.address" + type="conduit" + dir="end" /> + <interface name="reg_wdi_clk" internal="reg_wdi.clk" type="conduit" dir="end" /> + <interface name="reg_wdi_read" internal="reg_wdi.read" type="conduit" dir="end" /> + <interface + name="reg_wdi_readdata" + internal="reg_wdi.readdata" + type="conduit" + dir="end" /> + <interface + name="reg_wdi_reset" + internal="reg_wdi.reset" + type="conduit" + dir="end" /> + <interface + name="reg_wdi_write" + internal="reg_wdi.write" + type="conduit" + dir="end" /> + <interface + name="reg_wdi_writedata" + internal="reg_wdi.writedata" + type="conduit" + dir="end" /> + <interface name="reset" internal="clk_0.clk_in_reset" type="reset" dir="end" /> + <interface + name="rom_system_info_address" + internal="rom_system_info.address" + type="conduit" + dir="end" /> + <interface + name="rom_system_info_clk" + internal="rom_system_info.clk" + type="conduit" + dir="end" /> + <interface + name="rom_system_info_read" + internal="rom_system_info.read" + type="conduit" + dir="end" /> + <interface + name="rom_system_info_readdata" + internal="rom_system_info.readdata" + type="conduit" + dir="end" /> + <interface + name="rom_system_info_reset" + internal="rom_system_info.reset" + type="conduit" + dir="end" /> + <interface + name="rom_system_info_write" + internal="rom_system_info.write" + type="conduit" + dir="end" /> + <interface + name="rom_system_info_writedata" + internal="rom_system_info.writedata" + type="conduit" + dir="end" /> + <module + name="avs_eth_0" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>mm</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_mm_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>mm_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_mm_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_tse</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_tse_address</name> + <role>address</role> + <direction>Input</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_tse_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_tse_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>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>4096</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_reg</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_reg_address</name> + <role>address</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_reg_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_reg_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_reg_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_reg_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>64</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_ram</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_ram_address</name> + <role>address</role> + <direction>Input</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_ram_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_ram_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_ram_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_ram_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>4096</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>2</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>interrupt</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>ins_interrupt_irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>avs_eth_0.mms_reg</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_waitrequest</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_waitrequest_export</name> + <role>export</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>reg_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>reg_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>ram_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>ram_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>irq</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_irq_export</name> + <role>export</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs2_eth_coe</className> + <version>1.0</version> + <displayName>avs2_eth_coe</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors/> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mms_ram</key> + <value> + <connectionPointName>mms_ram</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mms_ram' start='0x0' end='0x1000' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>12</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>mms_reg</key> + <value> + <connectionPointName>mms_reg</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mms_reg' start='0x0' end='0x40' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>6</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>mms_tse</key> + <value> + <connectionPointName>mms_tse</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mms_tse' start='0x0' end='0x1000' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>12</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>mm</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_mm_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>mm_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_mm_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_tse</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_tse_address</name> + <role>address</role> + <direction>Input</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_tse_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_tse_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_tse_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>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>4096</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_reg</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_reg_address</name> + <role>address</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_reg_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_reg_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_reg_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_reg_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>64</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mms_ram</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>mms_ram_address</name> + <role>address</role> + <direction>Input</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_ram_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_ram_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>mms_ram_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>mms_ram_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>4096</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>2</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>interrupt</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>ins_interrupt_irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>avs_eth_0.mms_reg</value> + </entry> + <entry> + <key>associatedClock</key> + <value>mm</value> + </entry> + <entry> + <key>associatedReset</key> + <value>mm_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> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>tse_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>tse_waitrequest</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_tse_waitrequest_export</name> + <role>export</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>reg_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>reg_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>reg_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reg_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>10</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>ram_read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>ram_writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>ram_readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_ram_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>irq</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_irq_export</name> + <role>export</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_avs2_eth_coe_0</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_avs2_eth_coe_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_avs2_eth_coe_0</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_avs2_eth_coe_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_avs2_eth_coe_0</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_avs2_eth_coe_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_avs2_eth_coe_0</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_avs2_eth_coe_0.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="clk_0" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>clk</name> + <type>clock</type> + <isStart>true</isStart> + <ports> + <port> + <name>clk_out</name> + <role>clk</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedDirectClock</key> + <value>clk_in</value> + </entry> + <entry> + <key>clockRate</key> + <value>125000000</value> + </entry> + <entry> + <key>clockRateKnown</key> + <value>true</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>true</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_in</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>in_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>qsys.ui.export_name</key> + <value>clk</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>125000000</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_in_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>qsys.ui.export_name</key> + <value>reset</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_reset</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>reset_n_out</name> + <role>reset_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedDirectReset</key> + <value>clk_in_reset</value> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>clk_in_reset</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> + </boundary> + <originalModuleInfo> + <className>clock_source</className> + <displayName>Clock Source</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>0</parameterDefaultValue> + <parameterName>inputClockFrequency</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>clk_in</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>clk_in</key> + <value> + <connectionPointName>clk_in</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>0</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>clk_in</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>in_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>qsys.ui.export_name</key> + <value>clk</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>clockRate</key> + <value>125000000</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>false</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_in_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>qsys.ui.export_name</key> + <value>reset</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk</name> + <type>clock</type> + <isStart>true</isStart> + <ports> + <port> + <name>clk_out</name> + <role>clk</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedDirectClock</key> + <value>clk_in</value> + </entry> + <entry> + <key>clockRate</key> + <value>125000000</value> + </entry> + <entry> + <key>clockRateKnown</key> + <value>true</value> + </entry> + <entry> + <key>externallyDriven</key> + <value>true</value> + </entry> + <entry> + <key>ptfSchematicName</key> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>clk_reset</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>reset_n_out</name> + <role>reset_n</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + </entry> + <entry> + <key>associatedDirectReset</key> + <value>clk_in_reset</value> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>clk_in_reset</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>NONE</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_clk_0</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_clk_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_clk_0</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_clk_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_clk_0</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_clk_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_clk_0</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_clk_0.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="cpu_0" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>reset_req</name> + <role>reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>data_master</name> + <type>avalon</type> + <isStart>true</isStart> + <ports> + <port> + <name>d_address</name> + <role>address</role> + <direction>Output</direction> + <width>18</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_byteenable</name> + <role>byteenable</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_read</name> + <role>read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_readdata</name> + <role>readdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_waitrequest</name> + <role>waitrequest</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_write</name> + <role>write</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_writedata</name> + <role>writedata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_debugaccess_to_roms</name> + <role>debugaccess</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>debug.providesServices</key> + <value>master</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>adaptsTo</key> + </entry> + <entry> + <key>addressGroup</key> + <value>1</value> + </entry> + <entry> + <key>addressUnits</key> + <value>SYMBOLS</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>burstOnBurstBoundariesOnly</key> + <value>true</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>dBSBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>doStreamReads</key> + <value>false</value> + </entry> + <entry> + <key>doStreamWrites</key> + <value>false</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isAsynchronous</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isReadable</key> + <value>false</value> + </entry> + <entry> + <key>isWriteable</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>false</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>32</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>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>1</value> + </entry> + <entry> + <key>registerIncomingSignals</key> + <value>true</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>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>instruction_master</name> + <type>avalon</type> + <isStart>true</isStart> + <ports> + <port> + <name>i_address</name> + <role>address</role> + <direction>Output</direction> + <width>18</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>i_read</name> + <role>read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>i_readdata</name> + <role>readdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>i_waitrequest</name> + <role>waitrequest</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>adaptsTo</key> + </entry> + <entry> + <key>addressGroup</key> + <value>1</value> + </entry> + <entry> + <key>addressUnits</key> + <value>SYMBOLS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>true</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>burstOnBurstBoundariesOnly</key> + <value>false</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>dBSBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>doStreamReads</key> + <value>false</value> + </entry> + <entry> + <key>doStreamWrites</key> + <value>false</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isAsynchronous</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isReadable</key> + <value>false</value> + </entry> + <entry> + <key>isWriteable</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>true</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>32</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>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</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>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>true</isStart> + <ports> + <port> + <name>irq</name> + <role>irq</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>cpu_0.data_master</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset</value> + </entry> + <entry> + <key>irqMap</key> + </entry> + <entry> + <key>irqScheme</key> + <value>INDIVIDUAL_REQUESTS</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>debug_reset_request</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>debug_reset_request</name> + <role>reset</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedDirectReset</key> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>none</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>debug_mem_slave</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>debug_mem_slave_address</name> + <role>address</role> + <direction>Input</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_byteenable</name> + <role>byteenable</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_debugaccess</name> + <role>debugaccess</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>embeddedsw.configuration.hideDevice</key> + <value>1</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.isNonVolatileStorage</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isPrintableDevice</key> + <value>0</value> + </entry> + <entry> + <key>qsys.ui.connect</key> + <value>instruction_master,data_master</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>2048</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>true</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>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>true</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>custom_instruction_master</name> + <type>nios_custom_instruction</type> + <isStart>true</isStart> + <ports> + <port> + <name>dummy_ci_port</name> + <role>readra</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>CIName</key> + <value></value> + </entry> + <entry> + <key>addressWidth</key> + <value>8</value> + </entry> + <entry> + <key>clockCycle</key> + <value>0</value> + </entry> + <entry> + <key>enabled</key> + <value>false</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>8</value> + </entry> + <entry> + <key>opcodeExtension</key> + <value>0</value> + </entry> + <entry> + <key>sharedCombinationalAndMulticycle</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> + </boundary> + <originalModuleInfo> + <className>altera_nios2_gen2</className> + <version>19.1</version> + <displayName>Nios II Processor</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_CLK_CLOCK_DOMAIN</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>clk</systemInfoArgs> + <systemInfotype>CLOCK_DOMAIN</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_CLK_RESET_DOMAIN</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>clk</systemInfoArgs> + <systemInfotype>RESET_DOMAIN</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>AUTO_DEVICE</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>DEVICE</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>AUTO_DEVICE_SPEEDGRADE</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>DEVICE_SPEEDGRADE</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>50000000</parameterDefaultValue> + <parameterName>clockFrequency</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>clk</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>customInstSlavesSystemInfo</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>custom_instruction_master</systemInfoArgs> + <systemInfotype>CUSTOM_INSTRUCTION_SLAVES</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>customInstSlavesSystemInfo_nios_a</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>custom_instruction_master_a</systemInfoArgs> + <systemInfotype>CUSTOM_INSTRUCTION_SLAVES</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>customInstSlavesSystemInfo_nios_b</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>custom_instruction_master_b</systemInfoArgs> + <systemInfotype>CUSTOM_INSTRUCTION_SLAVES</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>customInstSlavesSystemInfo_nios_c</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>custom_instruction_master_c</systemInfoArgs> + <systemInfotype>CUSTOM_INSTRUCTION_SLAVES</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>dataAddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>data_master</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>dataMasterHighPerformanceAddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>data_master_high_performance</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>dataMasterHighPerformanceMapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>data_master_high_performance</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>dataSlaveMapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>data_master</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>STRATIXIV</parameterDefaultValue> + <parameterName>deviceFamilyName</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>DEVICE_FAMILY</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>deviceFeaturesSystemInfo</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>DEVICE_FEATURES</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>faAddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>flash_instruction_master</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>faSlaveMapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>flash_instruction_master</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>instAddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>instruction_master</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>instSlaveMapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>instruction_master</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>instructionMasterHighPerformanceAddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>instruction_master_high_performance</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>instructionMasterHighPerformanceMapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>instruction_master_high_performance</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>0</parameterDefaultValue> + <parameterName>internalIrqMaskSystemInfo</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>irq</systemInfoArgs> + <systemInfotype>INTERRUPTS_USED</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster0AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_data_master_0</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster0MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_data_master_0</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster1AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_data_master_1</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster1MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_data_master_1</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster2AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_data_master_2</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster2MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_data_master_2</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster3AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_data_master_3</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledDataMaster3MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_data_master_3</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster0AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_0</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster0MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_0</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster1AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_1</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster1MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_1</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster2AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_2</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster2MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_2</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>1</parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster3AddrWidth</parameterName> + <parameterType>java.lang.Integer</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_3</systemInfoArgs> + <systemInfotype>ADDRESS_WIDTH</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>tightlyCoupledInstructionMaster3MapParam</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfoArgs>tightly_coupled_instruction_master_3</systemInfoArgs> + <systemInfotype>ADDRESS_MAP</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_DOMAIN</key> + <value>1</value> + </entry> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + <entry> + <key>RESET_DOMAIN</key> + <value>1</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>custom_instruction_master</key> + <value> + <connectionPointName>custom_instruction_master</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CUSTOM_INSTRUCTION_SLAVES</key> + <value></value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>data_master</key> + <value> + <connectionPointName>data_master</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /><slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /><slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /><slave name='timer_0.s1' start='0x100' end='0x120' datawidth='16' /><slave name='reg_epcs.mem' start='0x120' end='0x140' datawidth='32' /><slave name='reg_remu.mem' start='0x140' end='0x160' datawidth='32' /><slave name='reg_fpga_temp_sens.mem' start='0x160' end='0x180' datawidth='32' /><slave name='pio_wdi.s1' start='0x180' end='0x190' datawidth='32' /><slave name='pio_pps.mem' start='0x190' end='0x1A0' datawidth='32' /><slave name='reg_mmdp_data.mem' start='0x1A0' end='0x1A8' datawidth='32' /><slave name='reg_mmdp_ctrl.mem' start='0x1A8' end='0x1B0' datawidth='32' /><slave name='reg_dpmm_data.mem' start='0x1B0' end='0x1B8' datawidth='32' /><slave name='reg_dpmm_ctrl.mem' start='0x1B8' end='0x1C0' datawidth='32' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x1C0' end='0x1C8' datawidth='32' /><slave name='avs_eth_0.mms_tse' start='0x1000' end='0x2000' datawidth='32' /><slave name='avs_eth_0.mms_ram' start='0x2000' end='0x3000' datawidth='32' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /><slave name='ram_scrap.mem' start='0x3800' end='0x4000' datawidth='32' /><slave name='cpu_0.debug_mem_slave' start='0x4000' end='0x4800' datawidth='32' /><slave name='rom_system_info.mem' start='0x10000' end='0x18000' datawidth='32' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>18</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>debug_mem_slave</key> + <value> + <connectionPointName>debug_mem_slave</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='debug_mem_slave' start='0x0' end='0x800' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>11</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>instruction_master</key> + <value> + <connectionPointName>instruction_master</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='cpu_0.debug_mem_slave' start='0x4000' end='0x4800' datawidth='32' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>18</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>irq</key> + <value> + <connectionPointName>irq</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>INTERRUPTS_USED</key> + <value>7</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>reset_req</name> + <role>reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>data_master</name> + <type>avalon</type> + <isStart>true</isStart> + <ports> + <port> + <name>d_address</name> + <role>address</role> + <direction>Output</direction> + <width>18</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_byteenable</name> + <role>byteenable</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_read</name> + <role>read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_readdata</name> + <role>readdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>d_waitrequest</name> + <role>waitrequest</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_write</name> + <role>write</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>d_writedata</name> + <role>writedata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_debugaccess_to_roms</name> + <role>debugaccess</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>debug.providesServices</key> + <value>master</value> + </entry> + </assignmentValueMap> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>adaptsTo</key> + </entry> + <entry> + <key>addressGroup</key> + <value>1</value> + </entry> + <entry> + <key>addressUnits</key> + <value>SYMBOLS</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>burstOnBurstBoundariesOnly</key> + <value>true</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>dBSBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>doStreamReads</key> + <value>false</value> + </entry> + <entry> + <key>doStreamWrites</key> + <value>false</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isAsynchronous</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isReadable</key> + <value>false</value> + </entry> + <entry> + <key>isWriteable</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>false</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>32</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>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>1</value> + </entry> + <entry> + <key>registerIncomingSignals</key> + <value>true</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>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>instruction_master</name> + <type>avalon</type> + <isStart>true</isStart> + <ports> + <port> + <name>i_address</name> + <role>address</role> + <direction>Output</direction> + <width>18</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>i_read</name> + <role>read</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>i_readdata</name> + <role>readdata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>i_waitrequest</name> + <role>waitrequest</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>adaptsTo</key> + </entry> + <entry> + <key>addressGroup</key> + <value>1</value> + </entry> + <entry> + <key>addressUnits</key> + <value>SYMBOLS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>true</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>burstOnBurstBoundariesOnly</key> + <value>false</value> + </entry> + <entry> + <key>burstcountUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>constantBurstBehavior</key> + <value>false</value> + </entry> + <entry> + <key>dBSBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>doStreamReads</key> + <value>false</value> + </entry> + <entry> + <key>doStreamWrites</key> + <value>false</value> + </entry> + <entry> + <key>holdTime</key> + <value>0</value> + </entry> + <entry> + <key>interleaveBursts</key> + <value>false</value> + </entry> + <entry> + <key>isAsynchronous</key> + <value>false</value> + </entry> + <entry> + <key>isBigEndian</key> + <value>false</value> + </entry> + <entry> + <key>isReadable</key> + <value>false</value> + </entry> + <entry> + <key>isWriteable</key> + <value>false</value> + </entry> + <entry> + <key>linewrapBursts</key> + <value>true</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>32</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>prSafe</key> + <value>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>0</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>waitrequestAllowance</key> + <value>0</value> + </entry> + <entry> + <key>writeWaitTime</key> + <value>0</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>true</isStart> + <ports> + <port> + <name>irq</name> + <role>irq</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>cpu_0.data_master</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset</value> + </entry> + <entry> + <key>irqMap</key> + </entry> + <entry> + <key>irqScheme</key> + <value>INDIVIDUAL_REQUESTS</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>debug_reset_request</name> + <type>reset</type> + <isStart>true</isStart> + <ports> + <port> + <name>debug_reset_request</name> + <role>reset</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk</value> + </entry> + <entry> + <key>associatedDirectReset</key> + </entry> + <entry> + <key>associatedResetSinks</key> + <value>none</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>debug_mem_slave</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>debug_mem_slave_address</name> + <role>address</role> + <direction>Input</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_byteenable</name> + <role>byteenable</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_debugaccess</name> + <role>debugaccess</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>debug_mem_slave_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>debug_mem_slave_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap> + <entry> + <key>embeddedsw.configuration.hideDevice</key> + <value>1</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.isNonVolatileStorage</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isPrintableDevice</key> + <value>0</value> + </entry> + <entry> + <key>qsys.ui.connect</key> + <value>instruction_master,data_master</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>2048</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>true</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>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>true</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>custom_instruction_master</name> + <type>nios_custom_instruction</type> + <isStart>true</isStart> + <ports> + <port> + <name>dummy_ci_port</name> + <role>readra</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>CIName</key> + <value></value> + </entry> + <entry> + <key>addressWidth</key> + <value>8</value> + </entry> + <entry> + <key>clockCycle</key> + <value>0</value> + </entry> + <entry> + <key>enabled</key> + <value>false</value> + </entry> + <entry> + <key>maxAddressWidth</key> + <value>8</value> + </entry> + <entry> + <key>opcodeExtension</key> + <value>0</value> + </entry> + <entry> + <key>sharedCombinationalAndMulticycle</key> + <value>false</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_nios2_gen2_0</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_nios2_gen2_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_nios2_gen2_0</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_nios2_gen2_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_nios2_gen2_0</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_nios2_gen2_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_nios2_gen2_0</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_nios2_gen2_0.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap> + <entry> + <key>debug.hostConnection</key> + <value>type jtag id 70:34|110:135</value> + </entry> + <entry> + <key>embeddedsw.CMacro.BIG_ENDIAN</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.BREAK_ADDR</key> + <value>0x00004020</value> + </entry> + <entry> + <key>embeddedsw.CMacro.CPU_ARCH_NIOS2_R1</key> + <value></value> + </entry> + <entry> + <key>embeddedsw.CMacro.CPU_FREQ</key> + <value>125000000u</value> + </entry> + <entry> + <key>embeddedsw.CMacro.CPU_ID_SIZE</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.CPU_ID_VALUE</key> + <value>0x00000000</value> + </entry> + <entry> + <key>embeddedsw.CMacro.CPU_IMPLEMENTATION</key> + <value>"tiny"</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DATA_ADDR_WIDTH</key> + <value>18</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DCACHE_LINE_SIZE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DCACHE_LINE_SIZE_LOG2</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DCACHE_SIZE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.EXCEPTION_ADDR</key> + <value>0x00020020</value> + </entry> + <entry> + <key>embeddedsw.CMacro.FLASH_ACCELERATOR_LINES</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.FLASH_ACCELERATOR_LINE_SIZE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.FLUSHDA_SUPPORTED</key> + <value></value> + </entry> + <entry> + <key>embeddedsw.CMacro.HARDWARE_DIVIDE_PRESENT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HARDWARE_MULTIPLY_PRESENT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HARDWARE_MULX_PRESENT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_DEBUG_CORE</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_DEBUG_STUB</key> + <value></value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_ILLEGAL_INSTRUCTION_EXCEPTION</key> + <value></value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_JMPI_INSTRUCTION</key> + <value></value> + </entry> + <entry> + <key>embeddedsw.CMacro.ICACHE_LINE_SIZE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.ICACHE_LINE_SIZE_LOG2</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.ICACHE_SIZE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.INST_ADDR_WIDTH</key> + <value>18</value> + </entry> + <entry> + <key>embeddedsw.CMacro.OCI_VERSION</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.RESET_ADDR</key> + <value>0x00020000</value> + </entry> + <entry> + <key>embeddedsw.configuration.DataCacheVictimBufImpl</key> + <value>ram</value> + </entry> + <entry> + <key>embeddedsw.configuration.HDLSimCachesCleared</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.configuration.breakOffset</key> + <value>32</value> + </entry> + <entry> + <key>embeddedsw.configuration.breakSlave</key> + <value>cpu_0.debug_mem_slave</value> + </entry> + <entry> + <key>embeddedsw.configuration.cpuArchitecture</key> + <value>Nios II</value> + </entry> + <entry> + <key>embeddedsw.configuration.exceptionOffset</key> + <value>32</value> + </entry> + <entry> + <key>embeddedsw.configuration.exceptionSlave</key> + <value>onchip_memory2_0.s1</value> + </entry> + <entry> + <key>embeddedsw.configuration.resetOffset</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.resetSlave</key> + <value>onchip_memory2_0.s1</value> + </entry> + <entry> + <key>embeddedsw.dts.compatible</key> + <value>altr,nios2-1.1</value> + </entry> + <entry> + <key>embeddedsw.dts.group</key> + <value>cpu</value> + </entry> + <entry> + <key>embeddedsw.dts.name</key> + <value>nios2</value> + </entry> + <entry> + <key>embeddedsw.dts.params.altr,exception-addr</key> + <value>0x00020020</value> + </entry> + <entry> + <key>embeddedsw.dts.params.altr,implementation</key> + <value>"tiny"</value> + </entry> + <entry> + <key>embeddedsw.dts.params.altr,reset-addr</key> + <value>0x00020000</value> + </entry> + <entry> + <key>embeddedsw.dts.params.clock-frequency</key> + <value>125000000u</value> + </entry> + <entry> + <key>embeddedsw.dts.params.dcache-line-size</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.params.dcache-size</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.params.icache-line-size</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.params.icache-size</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.vendor</key> + <value>altr</value> + </entry> + </assignmentValueMap> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="jtag_uart_0" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <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> + </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> + </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> + </port> + <port> + <name>av_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_read_n</name> + <role>read_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>av_write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>av_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents><?xml version="1.0" encoding="utf-8"?> +<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" > + <peripherals> + <peripheral> + <name>altera_avalon_jtag_uart</name><baseAddress>0x00000000</baseAddress> + <addressBlock> + <offset>0x0</offset> + <size>8</size> + <usage>registers</usage> + </addressBlock> + <registers> + <register> + <name>DATA</name> + <displayName>Data</displayName> + <description>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.</description> + <addressOffset>0x0</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>data</name> + <description>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.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>8</bitWidth> + <access>read-write</access> + </field> + <field><name>rvalid</name> + <description>Indicates whether the DATA field is valid. If RVALID=1, the DATA field is valid, otherwise DATA is undefined.</description> + <bitOffset>0xf</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field><name>ravail</name> + <description>The number of characters remaining in the read FIFO (after the current read).</description> + <bitOffset>0x10</bitOffset> + <bitWidth>16</bitWidth> + <access>read-only</access> + </field> + </fields> + </register> + <register> + <name>CONTROL</name> + <displayName>Control</displayName> + <description>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.</description> + <addressOffset>0x4</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>re</name> + <description>Interrupt-enable bit for read interrupts.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field><name>we</name> + <description>Interrupt-enable bit for write interrupts</description> + <bitOffset>0x1</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field><name>ri</name> + <description>Indicates that the read interrupt is pending.</description> + <bitOffset>0x8</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field><name>wi</name> + <description>Indicates that the write interrupt is pending.</description> + <bitOffset>0x9</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field><name>ac</name> + <description>Indicates that there has been JTAG activity since the bit was cleared. Writing 1 to AC clears it to 0.</description> + <bitOffset>0xa</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field><name>wspace</name> + <description>The number of spaces available in the write FIFO</description> + <bitOffset>0x10</bitOffset> + <bitWidth>16</bitWidth> + <access>read-only</access> + </field> + </fields> + </register> + </registers> + </peripheral> + </peripherals> +</device> </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> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>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> + </boundary> + <originalModuleInfo> + <className>altera_avalon_jtag_uart</className> + <version>19.1.0</version> + <displayName>JTAG UART Intel FPGA IP</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>avalonSpec</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>AVALON_SPEC</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>0</parameterDefaultValue> + <parameterName>clkFreq</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>clk</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>avalon_jtag_slave</key> + <value> + <connectionPointName>avalon_jtag_slave</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='avalon_jtag_slave' start='0x0' end='0x8' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<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> + </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> + </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> + </port> + <port> + <name>av_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_read_n</name> + <role>read_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>av_write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>av_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>av_waitrequest</name> + <role>waitrequest</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents><?xml version="1.0" encoding="utf-8"?> +<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" > + <peripherals> + <peripheral> + <name>altera_avalon_jtag_uart</name><baseAddress>0x00000000</baseAddress> + <addressBlock> + <offset>0x0</offset> + <size>8</size> + <usage>registers</usage> + </addressBlock> + <registers> + <register> + <name>DATA</name> + <displayName>Data</displayName> + <description>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.</description> + <addressOffset>0x0</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>data</name> + <description>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.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>8</bitWidth> + <access>read-write</access> + </field> + <field><name>rvalid</name> + <description>Indicates whether the DATA field is valid. If RVALID=1, the DATA field is valid, otherwise DATA is undefined.</description> + <bitOffset>0xf</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field><name>ravail</name> + <description>The number of characters remaining in the read FIFO (after the current read).</description> + <bitOffset>0x10</bitOffset> + <bitWidth>16</bitWidth> + <access>read-only</access> + </field> + </fields> + </register> + <register> + <name>CONTROL</name> + <displayName>Control</displayName> + <description>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.</description> + <addressOffset>0x4</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>re</name> + <description>Interrupt-enable bit for read interrupts.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field><name>we</name> + <description>Interrupt-enable bit for write interrupts</description> + <bitOffset>0x1</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field><name>ri</name> + <description>Indicates that the read interrupt is pending.</description> + <bitOffset>0x8</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field><name>wi</name> + <description>Indicates that the write interrupt is pending.</description> + <bitOffset>0x9</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field><name>ac</name> + <description>Indicates that there has been JTAG activity since the bit was cleared. Writing 1 to AC clears it to 0.</description> + <bitOffset>0xa</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field><name>wspace</name> + <description>The number of spaces available in the write FIFO</description> + <bitOffset>0x10</bitOffset> + <bitWidth>16</bitWidth> + <access>read-only</access> + </field> + </fields> + </register> + </registers> + </peripheral> + </peripherals> +</device> </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> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>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>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_jtag_uart_0</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_jtag_uart_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_jtag_uart_0</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_jtag_uart_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_jtag_uart_0</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_jtag_uart_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_jtag_uart_0</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_jtag_uart_0.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap> + <entry> + <key>embeddedsw.CMacro.READ_DEPTH</key> + <value>64</value> + </entry> + <entry> + <key>embeddedsw.CMacro.READ_THRESHOLD</key> + <value>8</value> + </entry> + <entry> + <key>embeddedsw.CMacro.WRITE_DEPTH</key> + <value>64</value> + </entry> + <entry> + <key>embeddedsw.CMacro.WRITE_THRESHOLD</key> + <value>8</value> + </entry> + <entry> + <key>embeddedsw.dts.compatible</key> + <value>altr,juart-1.0</value> + </entry> + <entry> + <key>embeddedsw.dts.group</key> + <value>serial</value> + </entry> + <entry> + <key>embeddedsw.dts.name</key> + <value>juart</value> + </entry> + <entry> + <key>embeddedsw.dts.vendor</key> + <value>altr</value> + </entry> + </assignmentValueMap> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="onchip_memory2_0" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>clk1</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> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>15</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>clken</name> + <role>clken</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>byteenable</name> + <role>byteenable</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>131072</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk1</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset1</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>131072</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>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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset1</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>reset_req</name> + <role>reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk1</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> + </boundary> + <originalModuleInfo> + <className>altera_avalon_onchip_memory2</className> + <version>19.2.0</version> + <displayName>On-Chip Memory (RAM or ROM) Intel FPGA IP</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue></parameterDefaultValue> + <parameterName>autoInitializationFileName</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>UNIQUE_ID</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>NONE</parameterDefaultValue> + <parameterName>deviceFamily</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>DEVICE_FAMILY</systemInfotype> + </descriptor> + <descriptor> + <parameterDefaultValue>NONE</parameterDefaultValue> + <parameterName>deviceFeatures</parameterName> + <parameterType>java.lang.String</parameterType> + <systemInfotype>DEVICE_FEATURES</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>s1</key> + <value> + <connectionPointName>s1</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='s1' start='0x0' end='0x20000' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>17</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>clk1</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> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>15</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>clken</name> + <role>clken</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>byteenable</name> + <role>byteenable</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>131072</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>clk1</value> + </entry> + <entry> + <key>associatedReset</key> + <value>reset1</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>131072</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>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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset1</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>reset_req</name> + <role>reset_req</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>clk1</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_onchip_memory2_0</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_onchip_memory2_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_onchip_memory2_0</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_onchip_memory2_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_onchip_memory2_0</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_onchip_memory2_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_onchip_memory2_0</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_onchip_memory2_0.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap> + <entry> + <key>embeddedsw.CMacro.ALLOW_IN_SYSTEM_MEMORY_CONTENT_EDITOR</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.ALLOW_MRAM_SIM_CONTENTS_ONLY_FILE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.CONTENTS_INFO</key> + <value>""</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DUAL_PORT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.GUI_RAM_BLOCK_TYPE</key> + <value>AUTO</value> + </entry> + <entry> + <key>embeddedsw.CMacro.INIT_CONTENTS_FILE</key> + <value>onchip_memory2_0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.INIT_MEM_CONTENT</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.INSTANCE_ID</key> + <value>NONE</value> + </entry> + <entry> + <key>embeddedsw.CMacro.NON_DEFAULT_INIT_FILE_ENABLED</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.RAM_BLOCK_TYPE</key> + <value>AUTO</value> + </entry> + <entry> + <key>embeddedsw.CMacro.READ_DURING_WRITE_MODE</key> + <value>DONT_CARE</value> + </entry> + <entry> + <key>embeddedsw.CMacro.SINGLE_CLOCK_OP</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.SIZE_MULTIPLE</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.SIZE_VALUE</key> + <value>131072</value> + </entry> + <entry> + <key>embeddedsw.CMacro.WRITABLE</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.DAT_SYM_INSTALL_DIR</key> + <value>SIM_DIR</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.GENERATE_DAT_SYM</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.GENERATE_HEX</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.HAS_BYTE_LANE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.HEX_INSTALL_DIR</key> + <value>QPF_DIR</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.MEM_INIT_DATA_WIDTH</key> + <value>32</value> + </entry> + <entry> + <key>embeddedsw.memoryInfo.MEM_INIT_FILENAME</key> + <value>onchip_memory2_0</value> + </entry> + <entry> + <key>postgeneration.simulation.init_file.param_name</key> + <value>INIT_FILE</value> + </entry> + <entry> + <key>postgeneration.simulation.init_file.type</key> + <value>MEM_INIT</value> + </entry> + </assignmentValueMap> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="pio_pps" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>16</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x10' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>4</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>16</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_pio_pps</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_pps</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_pps</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_pps</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_pps</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_pps</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_pps</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_pio_pps.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="pio_system_info" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>5</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>128</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>5</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x80' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>7</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>5</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>128</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>5</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_pio_system_info</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_system_info</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_system_info</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_system_info</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_system_info</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_system_info</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_system_info</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_pio_system_info.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="pio_wdi" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>0</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>4</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>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> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents><?xml version="1.0" encoding="utf-8"?> +<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" > + <peripherals> + <peripheral> + <name>altera_avalon_pio</name><baseAddress>0x00000000</baseAddress> + <addressBlock> + <offset>0x0</offset> + <size>32</size> + <usage>registers</usage> + </addressBlock> + <registers> + <register> + <name>DATA</name> + <displayName>Data</displayName> + <description>Reading from data returns the value present at the input ports. If the PIO core hardware is configured in output-only mode, reading from data returns an undefined value. Writing to data stores the value to a register that drives the output ports. If the PIO core hardware is configured in input-only mode, writing to data has no effect. If the PIO core hardware is in bidirectional mode, the registered value appears on an output port only when the corresponding bit in the direction register is set to 1 (output).</description> + <addressOffset>0x0</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>data</name> + <description>Reads: Data value currently on PIO inputs. Writes: New value to drive on PIO outputs.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>DIRECTION</name> + <displayName>Direction</displayName> + <description>The direction register controls the data direction for each PIO port, assuming the port is bidirectional. When bit n in direction is set to 1, port n drives out the value in the corresponding bit of the data register The direction register only exists when the PIO core hardware is configured in bidirectional mode. The mode (input, output, or bidirectional) is specified at system generation time, and cannot be changed at runtime. In input-only or output-only mode, the direction register does not exist. In this case, reading direction returns an undefined value, writing direction has no effect. After reset, all bits of direction are 0, so that all bidirectional I/O ports are configured as inputs. If those PIO ports are connected to device pins, the pins are held in a high-impedance state. In bi-directional mode, to change the direction of the PIO port, reprogram the direction register.</description> + <addressOffset>0x4</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>direction</name> + <description>Individual direction control for each I/O port. A value of 0 sets the direction to input; 1 sets the direction to output.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>IRQ_MASK</name> + <displayName>Interrupt mask</displayName> + <description>Setting a bit in the interruptmask register to 1 enables interrupts for the corresponding PIO input port. Interrupt behavior depends on the hardware configuration of the PIO core. The interruptmask register only exists when the hardware is configured to generate IRQs. If the core cannot generate IRQs, reading interruptmask returns an undefined value, and writing to interruptmask has no effect. After reset, all bits of interruptmask are zero, so that interrupts are disabled for all PIO ports.</description> + <addressOffset>0x8</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>interruptmask</name> + <description>IRQ enable/disable for each input port. Setting a bit to 1 enables interrupts for the corresponding port.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>EDGE_CAP</name> + <displayName>Edge capture</displayName> + <description>Bit n in the edgecapture register is set to 1 whenever an edge is detected on input port n. An Avalon-MM master peripheral can read the edgecapture register to determine if an edge has occurred on any of the PIO input ports. If the option Enable bit-clearing for edge capture register is turned off, writing any value to the edgecapture register clears all bits in the register. Otherwise, writing a 1 to a particular bit in the register clears only that bit. The type of edge(s) to detect is fixed in hardware at system generation time. The edgecapture register only exists when the hardware is configured to capture edges. If the core is not configured to capture edges, reading from edgecapture returns an undefined value, and writing to edgecapture has no effect.</description> + <addressOffset>0xc</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>edgecapture</name> + <description>Edge detection for each input port.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>SET_BIT</name> + <displayName>Outset</displayName> + <description>You can use the outset register to set individual bits of the output port. For example, to set bit 6 of the output port, write 0x40 to the outset register. This register is only present when the option Enable individual bit set/clear output register is turned on.</description> + <addressOffset>0x10</addressOffset> + <size>32</size> + <access>write-only</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>outset</name> + <description>Specifies which bit of the output port to set.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>write-only</access> + </field> + </fields> + </register> + <register> + <name>CLEAR_BITS</name> + <displayName>Outclear</displayName> + <description>You can use the outclear register to clear individual bits of the output port. For example, writing 0x08 to the outclear register clears bit 3 of the output port. This register is only present when the option Enable individual bit set/clear output register is turned on.</description> + <addressOffset>0x14</addressOffset> + <size>32</size> + <access>write-only</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>outclear</name> + <description>Specifies which output bit to clear.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>write-only</access> + </field> + </fields> + </register> + </registers> + </peripheral> + </peripherals> +</device> </cmsisSrcFileContents> + <addressGroup></addressGroup> + <cmsisVars/> + </cmsisInfo> + </interface> + <interface> + <name>external_connection</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>out_port</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>altera_avalon_pio</className> + <version>19.1.0</version> + <displayName>PIO (Parallel I/O) Intel FPGA IP</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>0</parameterDefaultValue> + <parameterName>clockRate</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>clk</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>s1</key> + <value> + <connectionPointName>s1</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='s1' start='0x0' end='0x10' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>4</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>2</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>0</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>4</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>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> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents><?xml version="1.0" encoding="utf-8"?> +<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" > + <peripherals> + <peripheral> + <name>altera_avalon_pio</name><baseAddress>0x00000000</baseAddress> + <addressBlock> + <offset>0x0</offset> + <size>32</size> + <usage>registers</usage> + </addressBlock> + <registers> + <register> + <name>DATA</name> + <displayName>Data</displayName> + <description>Reading from data returns the value present at the input ports. If the PIO core hardware is configured in output-only mode, reading from data returns an undefined value. Writing to data stores the value to a register that drives the output ports. If the PIO core hardware is configured in input-only mode, writing to data has no effect. If the PIO core hardware is in bidirectional mode, the registered value appears on an output port only when the corresponding bit in the direction register is set to 1 (output).</description> + <addressOffset>0x0</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>data</name> + <description>Reads: Data value currently on PIO inputs. Writes: New value to drive on PIO outputs.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>DIRECTION</name> + <displayName>Direction</displayName> + <description>The direction register controls the data direction for each PIO port, assuming the port is bidirectional. When bit n in direction is set to 1, port n drives out the value in the corresponding bit of the data register The direction register only exists when the PIO core hardware is configured in bidirectional mode. The mode (input, output, or bidirectional) is specified at system generation time, and cannot be changed at runtime. In input-only or output-only mode, the direction register does not exist. In this case, reading direction returns an undefined value, writing direction has no effect. After reset, all bits of direction are 0, so that all bidirectional I/O ports are configured as inputs. If those PIO ports are connected to device pins, the pins are held in a high-impedance state. In bi-directional mode, to change the direction of the PIO port, reprogram the direction register.</description> + <addressOffset>0x4</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>direction</name> + <description>Individual direction control for each I/O port. A value of 0 sets the direction to input; 1 sets the direction to output.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>IRQ_MASK</name> + <displayName>Interrupt mask</displayName> + <description>Setting a bit in the interruptmask register to 1 enables interrupts for the corresponding PIO input port. Interrupt behavior depends on the hardware configuration of the PIO core. The interruptmask register only exists when the hardware is configured to generate IRQs. If the core cannot generate IRQs, reading interruptmask returns an undefined value, and writing to interruptmask has no effect. After reset, all bits of interruptmask are zero, so that interrupts are disabled for all PIO ports.</description> + <addressOffset>0x8</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>interruptmask</name> + <description>IRQ enable/disable for each input port. Setting a bit to 1 enables interrupts for the corresponding port.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>EDGE_CAP</name> + <displayName>Edge capture</displayName> + <description>Bit n in the edgecapture register is set to 1 whenever an edge is detected on input port n. An Avalon-MM master peripheral can read the edgecapture register to determine if an edge has occurred on any of the PIO input ports. If the option Enable bit-clearing for edge capture register is turned off, writing any value to the edgecapture register clears all bits in the register. Otherwise, writing a 1 to a particular bit in the register clears only that bit. The type of edge(s) to detect is fixed in hardware at system generation time. The edgecapture register only exists when the hardware is configured to capture edges. If the core is not configured to capture edges, reading from edgecapture returns an undefined value, and writing to edgecapture has no effect.</description> + <addressOffset>0xc</addressOffset> + <size>32</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>edgecapture</name> + <description>Edge detection for each input port.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>read-write</access> + </field> + </fields> + </register> + <register> + <name>SET_BIT</name> + <displayName>Outset</displayName> + <description>You can use the outset register to set individual bits of the output port. For example, to set bit 6 of the output port, write 0x40 to the outset register. This register is only present when the option Enable individual bit set/clear output register is turned on.</description> + <addressOffset>0x10</addressOffset> + <size>32</size> + <access>write-only</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>outset</name> + <description>Specifies which bit of the output port to set.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>write-only</access> + </field> + </fields> + </register> + <register> + <name>CLEAR_BITS</name> + <displayName>Outclear</displayName> + <description>You can use the outclear register to clear individual bits of the output port. For example, writing 0x08 to the outclear register clears bit 3 of the output port. This register is only present when the option Enable individual bit set/clear output register is turned on.</description> + <addressOffset>0x14</addressOffset> + <size>32</size> + <access>write-only</access> + <resetValue>0x0</resetValue> + <resetMask>0xffffffff</resetMask> + <fields> + <field><name>outclear</name> + <description>Specifies which output bit to clear.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>32</bitWidth> + <access>write-only</access> + </field> + </fields> + </register> + </registers> + </peripheral> + </peripherals> +</device> </cmsisSrcFileContents> + <addressGroup></addressGroup> + <cmsisVars/> + </cmsisInfo> + </interface> + <interface> + <name>external_connection</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>out_port</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_pio_wdi</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_wdi</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_wdi</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_wdi</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_wdi</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_pio_wdi</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_pio_wdi</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_pio_wdi.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap> + <entry> + <key>embeddedsw.CMacro.BIT_CLEARING_EDGE_REGISTER</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.BIT_MODIFYING_OUTPUT_REGISTER</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.CAPTURE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DATA_WIDTH</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DO_TEST_BENCH_WIRING</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.DRIVEN_SIM_VALUE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.EDGE_TYPE</key> + <value>NONE</value> + </entry> + <entry> + <key>embeddedsw.CMacro.FREQ</key> + <value>125000000</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_IN</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_OUT</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.HAS_TRI</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.IRQ_TYPE</key> + <value>NONE</value> + </entry> + <entry> + <key>embeddedsw.CMacro.RESET_VALUE</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.compatible</key> + <value>altr,pio-1.0</value> + </entry> + <entry> + <key>embeddedsw.dts.group</key> + <value>gpio</value> + </entry> + <entry> + <key>embeddedsw.dts.name</key> + <value>pio</value> + </entry> + <entry> + <key>embeddedsw.dts.params.altr,gpio-bank-width</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.dts.params.resetvalue</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.vendor</key> + <value>altr</value> + </entry> + </assignmentValueMap> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="ram_scrap" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>2048</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>2</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm_readlatency2</className> + <version>1.0</version> + <displayName>avs_common_mm_readlatency2</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x800' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>11</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>2048</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>2</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>9</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_ram_scrap</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_ram_scrap</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_ram_scrap</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_ram_scrap</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_ram_scrap</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_ram_scrap</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_ram_scrap</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_ram_scrap.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_dpmm_ctrl" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x8' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_dpmm_ctrl</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_dpmm_ctrl</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_dpmm_ctrl</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_dpmm_ctrl</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_dpmm_ctrl</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_dpmm_ctrl</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_dpmm_ctrl</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_dpmm_ctrl.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_dpmm_data" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x8' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_dpmm_data</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_dpmm_data</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_dpmm_data</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_dpmm_data</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_dpmm_data</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_dpmm_data</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_dpmm_data</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_dpmm_data.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_epcs" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x20' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_epcs</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_epcs</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_epcs</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_epcs</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_epcs</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_epcs</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_epcs</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_epcs.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_fpga_temp_sens" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x20' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_fpga_temp_sens</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_fpga_temp_sens</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_fpga_temp_sens</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_fpga_temp_sens</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_fpga_temp_sens</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_fpga_temp_sens</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_fpga_temp_sens</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_fpga_temp_sens.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_fpga_voltage_sens" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>64</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x40' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>6</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>64</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>4</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_fpga_voltage_sens</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_fpga_voltage_sens</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_fpga_voltage_sens</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_fpga_voltage_sens</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_fpga_voltage_sens</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_fpga_voltage_sens</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_fpga_voltage_sens</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_fpga_voltage_sens.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_mmdp_ctrl" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x8' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_mmdp_ctrl</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_mmdp_ctrl</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_mmdp_ctrl</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_mmdp_ctrl</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_mmdp_ctrl</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_mmdp_ctrl</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_mmdp_ctrl</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_mmdp_ctrl.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_mmdp_data" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x8' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_mmdp_data</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_mmdp_data</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_mmdp_data</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_mmdp_data</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_mmdp_data</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_mmdp_data</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_mmdp_data</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_mmdp_data.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_remu" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x20' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_remu</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_remu</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_remu</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_remu</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_remu</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_remu</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_remu</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_remu.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="reg_wdi" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x8' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>3</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>8</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_reg_wdi</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_wdi</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_wdi</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_wdi</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_wdi</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_reg_wdi</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_reg_wdi</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_reg_wdi.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="rom_system_info" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>13</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32768</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>13</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> + </boundary> + <originalModuleInfo> + <className>avs_common_mm</className> + <version>1.0</version> + <displayName>avs_common_mm</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>-1</parameterDefaultValue> + <parameterName>AUTO_SYSTEM_CLOCK_RATE</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>system</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>mem</key> + <value> + <connectionPointName>mem</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='mem' start='0x0' end='0x8000' datawidth='32' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>15</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>32</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + <entry> + <key>system</key> + <value> + <connectionPointName>system</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<boundaryDefinition> + <interfaces> + <interface> + <name>system</name> + <type>clock</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_clk</name> + <role>clk</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>system_reset</name> + <type>reset</type> + <isStart>false</isStart> + <ports> + <port> + <name>csi_system_reset</name> + <role>reset</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>synchronousEdges</key> + <value>DEASSERT</value> + </entry> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>mem</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>avs_mem_address</name> + <role>address</role> + <direction>Input</direction> + <width>13</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_write</name> + <role>write</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>avs_mem_read</name> + <role>read</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>avs_mem_readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>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>32768</value> + </entry> + <entry> + <key>addressUnits</key> + <value>WORDS</value> + </entry> + <entry> + <key>alwaysBurstMaxBurst</key> + <value>false</value> + </entry> + <entry> + <key>associatedClock</key> + <value>system</value> + </entry> + <entry> + <key>associatedReset</key> + <value>system_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>false</value> + </entry> + <entry> + <key>readLatency</key> + <value>1</value> + </entry> + <entry> + <key>readWaitStates</key> + <value>0</value> + </entry> + <entry> + <key>readWaitTime</key> + <value>0</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> + </parameterValueMap> + </parameters> + </interface> + <interface> + <name>reset</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_reset_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>clk</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_clk_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>address</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_address_export</name> + <role>export</role> + <direction>Output</direction> + <width>13</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>write</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_write_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>writedata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_writedata_export</name> + <role>export</role> + <direction>Output</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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>read</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_read_export</name> + <role>export</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>readdata</name> + <type>conduit</type> + <isStart>false</isStart> + <ports> + <port> + <name>coe_readdata_export</name> + <role>export</role> + <direction>Input</direction> + <width>32</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </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> + </interfaces> +</boundaryDefinition>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_rom_system_info</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_rom_system_info</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_rom_system_info</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_rom_system_info</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_rom_system_info</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_rom_system_info</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_rom_system_info</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_rom_system_info.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap/> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <module + name="timer_0" + kind="altera_generic_component" + version="1.0" + enabled="1"> + <parameter name="componentDefinition"><![CDATA[<componentDefinition> + <boundary> + <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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>16</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>16</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isTimerDevice</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>8</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>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> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents><?xml version="1.0" encoding="utf-8"?> +<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" > + <peripherals> + <peripheral> + <name>altera_avalon_timer</name><baseAddress>0x00000000</baseAddress> + <addressBlock> + <offset>0x0</offset> + <size>16</size> + <usage>registers</usage> + </addressBlock> + <registers> + <register> + <name>status</name> + <displayName>Status</displayName> + <description>The status register has two defined bits. TO (timeout), RUN</description> + <addressOffset>0x0</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + <fields> + <field><name>TO</name> + <description>The TO (timeout) bit is set to 1 when the internal counter reaches zero. Once set by a timeout event, the TO bit stays set until explicitly cleared by a master peripheral. Write zero to the status register to clear the TO bit.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + <readAction>clear</readAction> + </field> + <field><name>RUN</name> + <description>The RUN bit reads as 1 when the internal counter is running; otherwise this bit reads as 0. The RUN bit is not changed by + a write operation to the status register.</description> + <bitOffset>1</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field> + <name>Reserved</name> + <description>Reserved</description> + <bitOffset>2</bitOffset> + <bitWidth>14</bitWidth> + <access>read-write</access> + <parameters> + <parameter> + <name>Reserved</name> + <value>true</value> + </parameter> + </parameters> + </field> + </fields> + </register> + <register> + <name>control</name> + <description>The control register has four defined bits. ITO (Timeout Interrupt), CONT (continue), START, STOP</description> + <addressOffset>0x1</addressOffset> + <size>16</size> + <access>read-write</access> + <reset> + <value>0x0</value> + </reset> + <field> + <name>ITO</name> + <description>If the ITO bit is 1, the interval timer core generates an IRQ when the status register's TO bit is 1. When the ITO bit is 0, the timer does not generate IRQs.</description> + <bitOffset>0</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field> + <name>CONT</name> + <description>The CONT (continuous) bit determines how the internal counter behaves when it reaches zero. If the CONT bit is 1, the counter runs continuously until it is stopped by the STOP bit. If CONT is 0, the counter stops after it reaches zero. When the counter reaches zero, it reloads with the value stored in the period registers, regardless of the CONT bit.</description> + <bitOffset>1</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field> + <name>START</name> + <description>Writing a 1 to the START bit starts the internal counter running (counting down). The START bit is an event bit that enables the counter when a write operation is performed. If the timer is stopped, writing a 1 to the START bit causes the timer to restart counting from the number currently stored in its counter. If the timer is already running, writing a 1 to START has no effect. Writing 0 to the START bit has no effect.</description> + <bitOffset>2</bitOffset> + <bitWidth>1</bitWidth> + <access>write-only</access> + </field> + <field> + <name>STOP</name> + <description>Writing a 1 to the STOP bit stops the internal counter. The STOP bit is an event bit that causes the counter to stop when a write operation is performed. If the timer is already stopped, writing a 1 to STOP has no effect. Writing a 0 to the stop bit has no effect. If the timer hardware is configured with Start/Stop control bits off, writing the STOP bit has no effect.</description> + <bitOffset>3</bitOffset> + <bitWidth>1</bitWidth> + <access>write-only</access> + </field> + <field> + <name>Reserved</name> + <description>Reserved</description> + <bitOffset>4</bitOffset> + <bitWidth>12</bitWidth> + <access>read-write</access> + <parameters> + <parameter> + <name>Reserved</name> + <value>true</value> + </parameter> + </parameters> + </field> + </register> + <register> + <name>${period_name_0}</name> + <description>The period_n registers together store the timeout period value when a write operation to one of the period_n register or the internal counter reaches 0. The timer's actual period is one cycle greater than the value stored in the period_n registers because the counter assumes the value zero for one clock cycle. Writing to one of the period_n registers stops the internal counter, except when the hardware is configured with Start/Stop control bits off. If Start/Stop control bits is off, writing either register does not stop the counter. When the hardware is configured with Writeable period disabled, writing to one of the period_n registers causes the counter to reset to the fixed Timeout Period specified at system generation time.</description> + <addressOffset>0x2</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_name_0_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${period_name_1}</name> + <description></description> + <addressOffset>0x3</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_name_1_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${period_snap_0}</name> + <description></description> + <addressOffset>0x4</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_snap_0_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${period_snap_1}</name> + <description></description> + <addressOffset>0x5</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_snap_1_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_0}</name> + <description>A master peripheral may request a coherent snapshot of the current internal counter by performing a write operation (write-data ignored) to one of the snap_n registers. When a write occurs, the value of the counter is copied to snap_n registers. The snapshot occurs whether or not the counter is running. Requesting a snapshot does not change the internal counter's operation.</description> + <addressOffset>0x6</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_1}</name> + <description></description> + <addressOffset>0x7</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_2}</name> + <description></description> + <addressOffset>0x8</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_3}</name> + <description></description> + <addressOffset>0x9</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + </registers> + </peripheral> + </peripherals> +</device> </cmsisSrcFileContents> + <addressGroup></addressGroup> + <cmsisVars> + <entry> + <key>period_name_1_reset_value</key> + <value>0x1</value> + </entry> + <entry> + <key>snap_0</key> + <value>Reserved</value> + </entry> + <entry> + <key>period_name_0_reset_value</key> + <value>0xe847</value> + </entry> + <entry> + <key>snap_2</key> + <value>Reserved</value> + </entry> + <entry> + <key>snap_1</key> + <value>Reserved</value> + </entry> + <entry> + <key>snap_3</key> + <value>Reserved</value> + </entry> + <entry> + <key>period_name_0</key> + <value>periodl</value> + </entry> + <entry> + <key>period_name_1</key> + <value>periodh</value> + </entry> + <entry> + <key>period_snap_1</key> + <value>snaph</value> + </entry> + <entry> + <key>period_snap_1_reset_value</key> + <value>0x0</value> + </entry> + <entry> + <key>period_snap_0_reset_value</key> + <value>0x0</value> + </entry> + <entry> + <key>period_snap_0</key> + <value>snapl</value> + </entry> + </cmsisVars> + </cmsisInfo> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>timer_0.s1</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> + </boundary> + <originalModuleInfo> + <className>altera_avalon_timer</className> + <version>19.1.0</version> + <displayName>Interval Timer Intel FPGA IP</displayName> + </originalModuleInfo> + <systemInfoParameterDescriptors> + <descriptors> + <descriptor> + <parameterDefaultValue>0</parameterDefaultValue> + <parameterName>systemFrequency</parameterName> + <parameterType>java.lang.Long</parameterType> + <systemInfoArgs>clk</systemInfoArgs> + <systemInfotype>CLOCK_RATE</systemInfotype> + </descriptor> + </descriptors> + </systemInfoParameterDescriptors> + <systemInfos> + <connPtSystemInfos> + <entry> + <key>clk</key> + <value> + <connectionPointName>clk</connectionPointName> + <suppliedSystemInfos/> + <consumedSystemInfos> + <entry> + <key>CLOCK_RATE</key> + <value>125000000</value> + </entry> + </consumedSystemInfos> + </value> + </entry> + <entry> + <key>s1</key> + <value> + <connectionPointName>s1</connectionPointName> + <suppliedSystemInfos> + <entry> + <key>ADDRESS_MAP</key> + <value><address-map><slave name='s1' start='0x0' end='0x20' datawidth='16' /></address-map></value> + </entry> + <entry> + <key>ADDRESS_WIDTH</key> + <value>5</value> + </entry> + <entry> + <key>MAX_SLAVE_DATA_WIDTH</key> + <value>16</value> + </entry> + </suppliedSystemInfos> + <consumedSystemInfos/> + </value> + </entry> + </connPtSystemInfos> + </systemInfos> +</componentDefinition>]]></parameter> + <parameter name="defaultBoundary"><![CDATA[<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> + </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>reset_n</name> + <role>reset_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>s1</name> + <type>avalon</type> + <isStart>false</isStart> + <ports> + <port> + <name>address</name> + <role>address</role> + <direction>Input</direction> + <width>3</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>writedata</name> + <role>writedata</role> + <direction>Input</direction> + <width>16</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>readdata</name> + <role>readdata</role> + <direction>Output</direction> + <width>16</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC_VECTOR</vhdlType> + </port> + <port> + <name>chipselect</name> + <role>chipselect</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + <port> + <name>write_n</name> + <role>write_n</role> + <direction>Input</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </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>0</value> + </entry> + <entry> + <key>embeddedsw.configuration.isTimerDevice</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>8</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>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> + </parameterValueMap> + </parameters> + <cmsisInfo> + <cmsisSrcFileContents><?xml version="1.0" encoding="utf-8"?> +<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd" > + <peripherals> + <peripheral> + <name>altera_avalon_timer</name><baseAddress>0x00000000</baseAddress> + <addressBlock> + <offset>0x0</offset> + <size>16</size> + <usage>registers</usage> + </addressBlock> + <registers> + <register> + <name>status</name> + <displayName>Status</displayName> + <description>The status register has two defined bits. TO (timeout), RUN</description> + <addressOffset>0x0</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + <fields> + <field><name>TO</name> + <description>The TO (timeout) bit is set to 1 when the internal counter reaches zero. Once set by a timeout event, the TO bit stays set until explicitly cleared by a master peripheral. Write zero to the status register to clear the TO bit.</description> + <bitOffset>0x0</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + <readAction>clear</readAction> + </field> + <field><name>RUN</name> + <description>The RUN bit reads as 1 when the internal counter is running; otherwise this bit reads as 0. The RUN bit is not changed by + a write operation to the status register.</description> + <bitOffset>1</bitOffset> + <bitWidth>1</bitWidth> + <access>read-only</access> + </field> + <field> + <name>Reserved</name> + <description>Reserved</description> + <bitOffset>2</bitOffset> + <bitWidth>14</bitWidth> + <access>read-write</access> + <parameters> + <parameter> + <name>Reserved</name> + <value>true</value> + </parameter> + </parameters> + </field> + </fields> + </register> + <register> + <name>control</name> + <description>The control register has four defined bits. ITO (Timeout Interrupt), CONT (continue), START, STOP</description> + <addressOffset>0x1</addressOffset> + <size>16</size> + <access>read-write</access> + <reset> + <value>0x0</value> + </reset> + <field> + <name>ITO</name> + <description>If the ITO bit is 1, the interval timer core generates an IRQ when the status register's TO bit is 1. When the ITO bit is 0, the timer does not generate IRQs.</description> + <bitOffset>0</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field> + <name>CONT</name> + <description>The CONT (continuous) bit determines how the internal counter behaves when it reaches zero. If the CONT bit is 1, the counter runs continuously until it is stopped by the STOP bit. If CONT is 0, the counter stops after it reaches zero. When the counter reaches zero, it reloads with the value stored in the period registers, regardless of the CONT bit.</description> + <bitOffset>1</bitOffset> + <bitWidth>1</bitWidth> + <access>read-write</access> + </field> + <field> + <name>START</name> + <description>Writing a 1 to the START bit starts the internal counter running (counting down). The START bit is an event bit that enables the counter when a write operation is performed. If the timer is stopped, writing a 1 to the START bit causes the timer to restart counting from the number currently stored in its counter. If the timer is already running, writing a 1 to START has no effect. Writing 0 to the START bit has no effect.</description> + <bitOffset>2</bitOffset> + <bitWidth>1</bitWidth> + <access>write-only</access> + </field> + <field> + <name>STOP</name> + <description>Writing a 1 to the STOP bit stops the internal counter. The STOP bit is an event bit that causes the counter to stop when a write operation is performed. If the timer is already stopped, writing a 1 to STOP has no effect. Writing a 0 to the stop bit has no effect. If the timer hardware is configured with Start/Stop control bits off, writing the STOP bit has no effect.</description> + <bitOffset>3</bitOffset> + <bitWidth>1</bitWidth> + <access>write-only</access> + </field> + <field> + <name>Reserved</name> + <description>Reserved</description> + <bitOffset>4</bitOffset> + <bitWidth>12</bitWidth> + <access>read-write</access> + <parameters> + <parameter> + <name>Reserved</name> + <value>true</value> + </parameter> + </parameters> + </field> + </register> + <register> + <name>${period_name_0}</name> + <description>The period_n registers together store the timeout period value when a write operation to one of the period_n register or the internal counter reaches 0. The timer's actual period is one cycle greater than the value stored in the period_n registers because the counter assumes the value zero for one clock cycle. Writing to one of the period_n registers stops the internal counter, except when the hardware is configured with Start/Stop control bits off. If Start/Stop control bits is off, writing either register does not stop the counter. When the hardware is configured with Writeable period disabled, writing to one of the period_n registers causes the counter to reset to the fixed Timeout Period specified at system generation time.</description> + <addressOffset>0x2</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_name_0_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${period_name_1}</name> + <description></description> + <addressOffset>0x3</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_name_1_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${period_snap_0}</name> + <description></description> + <addressOffset>0x4</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_snap_0_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${period_snap_1}</name> + <description></description> + <addressOffset>0x5</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>${period_snap_1_reset_value}</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_0}</name> + <description>A master peripheral may request a coherent snapshot of the current internal counter by performing a write operation (write-data ignored) to one of the snap_n registers. When a write occurs, the value of the counter is copied to snap_n registers. The snapshot occurs whether or not the counter is running. Requesting a snapshot does not change the internal counter's operation.</description> + <addressOffset>0x6</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_1}</name> + <description></description> + <addressOffset>0x7</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_2}</name> + <description></description> + <addressOffset>0x8</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + <register> + <name>${snap_3}</name> + <description></description> + <addressOffset>0x9</addressOffset> + <size>16</size> + <access>read-write</access> + <resetValue>0x0</resetValue> + <resetMask>0xffff</resetMask> + </register> + </registers> + </peripheral> + </peripherals> +</device> </cmsisSrcFileContents> + <addressGroup></addressGroup> + <cmsisVars> + <entry> + <key>period_name_1_reset_value</key> + <value>0x1</value> + </entry> + <entry> + <key>snap_0</key> + <value>Reserved</value> + </entry> + <entry> + <key>period_name_0_reset_value</key> + <value>0xe847</value> + </entry> + <entry> + <key>snap_2</key> + <value>Reserved</value> + </entry> + <entry> + <key>snap_1</key> + <value>Reserved</value> + </entry> + <entry> + <key>snap_3</key> + <value>Reserved</value> + </entry> + <entry> + <key>period_name_0</key> + <value>periodl</value> + </entry> + <entry> + <key>period_name_1</key> + <value>periodh</value> + </entry> + <entry> + <key>period_snap_1</key> + <value>snaph</value> + </entry> + <entry> + <key>period_snap_1_reset_value</key> + <value>0x0</value> + </entry> + <entry> + <key>period_snap_0_reset_value</key> + <value>0x0</value> + </entry> + <entry> + <key>period_snap_0</key> + <value>snapl</value> + </entry> + </cmsisVars> + </cmsisInfo> + </interface> + <interface> + <name>irq</name> + <type>interrupt</type> + <isStart>false</isStart> + <ports> + <port> + <name>irq</name> + <role>irq</role> + <direction>Output</direction> + <width>1</width> + <lowerBound>0</lowerBound> + <vhdlType>STD_LOGIC</vhdlType> + </port> + </ports> + <assignments> + <assignmentValueMap/> + </assignments> + <parameters> + <parameterValueMap> + <entry> + <key>associatedAddressablePoint</key> + <value>timer_0.s1</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>]]></parameter> + <parameter name="generationInfoDefinition"><![CDATA[<generationInfoDefinition> + <hdlLibraryName>qsys_unb2c_minimal_timer_0</hdlLibraryName> + <fileSets> + <fileSet> + <fileSetName>qsys_unb2c_minimal_timer_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_timer_0</fileSetFixedName> + <fileSetKind>QUARTUS_SYNTH</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_timer_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_timer_0</fileSetFixedName> + <fileSetKind>SIM_VERILOG</fileSetKind> + <fileSetFiles/> + </fileSet> + <fileSet> + <fileSetName>qsys_unb2c_minimal_timer_0</fileSetName> + <fileSetFixedName>qsys_unb2c_minimal_timer_0</fileSetFixedName> + <fileSetKind>SIM_VHDL</fileSetKind> + <fileSetFiles/> + </fileSet> + </fileSets> +</generationInfoDefinition>]]></parameter> + <parameter name="hlsFile" value="" /> + <parameter name="logicalView">ip/qsys_unb2c_minimal/qsys_unb2c_minimal_timer_0.ip</parameter> + <parameter name="moduleAssignmentDefinition"><![CDATA[<assignmentDefinition> + <assignmentValueMap> + <entry> + <key>embeddedsw.CMacro.ALWAYS_RUN</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.COUNTER_SIZE</key> + <value>32</value> + </entry> + <entry> + <key>embeddedsw.CMacro.FIXED_PERIOD</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.FREQ</key> + <value>125000000</value> + </entry> + <entry> + <key>embeddedsw.CMacro.LOAD_VALUE</key> + <value>124999</value> + </entry> + <entry> + <key>embeddedsw.CMacro.MULT</key> + <value>0.001</value> + </entry> + <entry> + <key>embeddedsw.CMacro.PERIOD</key> + <value>1</value> + </entry> + <entry> + <key>embeddedsw.CMacro.PERIOD_UNITS</key> + <value>ms</value> + </entry> + <entry> + <key>embeddedsw.CMacro.RESET_OUTPUT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.SNAPSHOT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.CMacro.TICKS_PER_SEC</key> + <value>1000</value> + </entry> + <entry> + <key>embeddedsw.CMacro.TIMEOUT_PULSE_OUTPUT</key> + <value>0</value> + </entry> + <entry> + <key>embeddedsw.dts.vendor</key> + <value>altr</value> + </entry> + </assignmentValueMap> +</assignmentDefinition>]]></parameter> + <parameter name="svInterfaceDefinition" value="" /> + </module> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="jtag_uart_0.avalon_jtag_slave"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x01c0" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="cpu_0.debug_mem_slave"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x4000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_fpga_temp_sens.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0160" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="pio_system_info.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="pio_pps.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0190" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_wdi.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x3000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_remu.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0140" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_epcs.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0120" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="rom_system_info.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x00010000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_dpmm_ctrl.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x01b8" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_dpmm_data.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x01b0" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_mmdp_ctrl.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x01a8" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_mmdp_data.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x01a0" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="reg_fpga_voltage_sens.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x00c0" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="ram_scrap.mem"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x3800" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="avs_eth_0.mms_ram"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x2000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="avs_eth_0.mms_reg"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0080" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="avs_eth_0.mms_tse"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x1000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="onchip_memory2_0.s1"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x00020000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="pio_wdi.s1"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0180" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.data_master" + end="timer_0.s1"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x0100" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.instruction_master" + end="cpu_0.debug_mem_slave"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x4000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection + kind="avalon" + version="19.4" + start="cpu_0.instruction_master" + end="onchip_memory2_0.s1"> + <parameter name="arbitrationPriority" value="1" /> + <parameter name="baseAddress" value="0x00020000" /> + <parameter name="defaultConnection" value="false" /> + <parameter name="domainAlias" value="" /> + <parameter name="qsys_mm.burstAdapterImplementation" value="GENERIC_CONVERTER" /> + <parameter name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="qsys_mm.enableEccProtection" value="FALSE" /> + <parameter name="qsys_mm.enableInstrumentation" value="FALSE" /> + <parameter name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <parameter name="qsys_mm.interconnectResetSource" value="DEFAULT" /> + <parameter name="qsys_mm.interconnectType" value="STANDARD" /> + <parameter name="qsys_mm.maxAdditionalLatency" value="1" /> + <parameter name="qsys_mm.syncResets" value="FALSE" /> + <parameter name="qsys_mm.widthAdapterImplementation" value="GENERIC_CONVERTER" /> + </connection> + <connection kind="clock" version="19.4" start="clk_0.clk" end="cpu_0.clk" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="jtag_uart_0.clk" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="pio_wdi.clk" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="timer_0.clk" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="onchip_memory2_0.clk1" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="avs_eth_0.mm" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="reg_fpga_temp_sens.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="pio_system_info.system" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="pio_pps.system" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="reg_wdi.system" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="reg_remu.system" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="reg_epcs.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="rom_system_info.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="reg_dpmm_ctrl.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="reg_dpmm_data.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="reg_mmdp_ctrl.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="reg_mmdp_data.system" /> + <connection + kind="clock" + version="19.4" + start="clk_0.clk" + end="reg_fpga_voltage_sens.system" /> + <connection kind="clock" version="19.4" start="clk_0.clk" end="ram_scrap.system" /> + <connection + kind="interrupt" + version="19.4" + start="cpu_0.irq" + end="avs_eth_0.interrupt"> + <parameter name="irqNumber" value="0" /> + </connection> + <connection + kind="interrupt" + version="19.4" + start="cpu_0.irq" + end="jtag_uart_0.irq"> + <parameter name="irqNumber" value="1" /> + </connection> + <connection kind="interrupt" version="19.4" start="cpu_0.irq" end="timer_0.irq"> + <parameter name="irqNumber" value="2" /> + </connection> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="avs_eth_0.mm_reset" /> + <connection kind="reset" version="19.4" start="clk_0.clk_reset" end="cpu_0.reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="jtag_uart_0.reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="pio_wdi.reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="timer_0.reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="onchip_memory2_0.reset1" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_fpga_temp_sens.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="pio_system_info.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="pio_pps.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_wdi.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_remu.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_epcs.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="rom_system_info.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_dpmm_ctrl.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_dpmm_data.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_mmdp_ctrl.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_mmdp_data.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="reg_fpga_voltage_sens.system_reset" /> + <connection + kind="reset" + version="19.4" + start="clk_0.clk_reset" + end="ram_scrap.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="avs_eth_0.mm_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="cpu_0.reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="jtag_uart_0.reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="pio_wdi.reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="timer_0.reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="onchip_memory2_0.reset1" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_fpga_temp_sens.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="pio_system_info.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="pio_pps.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_wdi.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_remu.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_epcs.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="rom_system_info.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_dpmm_ctrl.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_dpmm_data.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_mmdp_ctrl.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_mmdp_data.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="reg_fpga_voltage_sens.system_reset" /> + <connection + kind="reset" + version="19.4" + start="cpu_0.debug_reset_request" + end="ram_scrap.system_reset" /> +</system> diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/lofar2_unb2c_ddrctrl.vhd b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/lofar2_unb2c_ddrctrl.vhd new file mode 100644 index 0000000000..7bdf8b7721 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/lofar2_unb2c_ddrctrl.vhd @@ -0,0 +1,360 @@ +------------------------------------------------------------------------------- +-- +-- Copyright (C) 2015 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- + +LIBRARY IEEE, common_lib, unb2c_board_lib, technology_lib; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.NUMERIC_STD.ALL; +USE common_lib.common_pkg.ALL; +USE common_lib.common_mem_pkg.ALL; +USE technology_lib.technology_pkg.ALL; +USE unb2c_board_lib.unb2c_board_pkg.ALL; + +ENTITY unb2c_minimal IS + GENERIC ( + g_design_name : STRING := "unb2c_minimal"; + g_design_note : STRING := "UNUSED"; + g_technology : NATURAL := c_tech_arria10_e2sg; + g_sim : BOOLEAN := FALSE; --Overridden by TB + g_sim_unb_nr : NATURAL := 0; + g_sim_node_nr : NATURAL := 0; + g_stamp_date : NATURAL := 0; -- Date (YYYYMMDD) -- set by QSF + g_stamp_time : NATURAL := 0; -- Time (HHMMSS) -- set by QSF + g_revision_id : STRING := ""; -- revision id -- set by QSF + g_factory_image : BOOLEAN := TRUE; + g_protect_addr_range: BOOLEAN := FALSE + ); + PORT ( + -- GENERAL + CLK : IN STD_LOGIC; -- System Clock + PPS : IN STD_LOGIC; -- System Sync + WDI : OUT STD_LOGIC; -- Watchdog Clear + INTA : INOUT STD_LOGIC; -- FPGA interconnect line + INTB : INOUT STD_LOGIC; -- FPGA interconnect line + + -- Others + VERSION : IN STD_LOGIC_VECTOR(c_unb2c_board_aux.version_w-1 DOWNTO 0); + ID : IN STD_LOGIC_VECTOR(c_unb2c_board_aux.id_w-1 DOWNTO 0); + TESTIO : INOUT STD_LOGIC_VECTOR(c_unb2c_board_aux.testio_w-1 DOWNTO 0); + + -- 1GbE Control Interface + ETH_CLK : IN STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 DOWNTO 0); + ETH_SGIN : IN STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 DOWNTO 0); + ETH_SGOUT : OUT STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 DOWNTO 0); + + QSFP_LED : OUT STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0) + ); +END unb2c_minimal; + + +ARCHITECTURE str OF unb2c_minimal IS + + -- Firmware version x.y + -- If x >= 2, rom_info starts on 0x10000 and max size = 0x8192 words + CONSTANT c_fw_version : t_unb2c_board_fw_version := (2, 0); + CONSTANT c_mm_clk_freq : NATURAL := c_unb2c_board_mm_clk_freq_125M; + + -- System + SIGNAL cs_sim : STD_LOGIC; + SIGNAL xo_ethclk : STD_LOGIC; + SIGNAL xo_rst : STD_LOGIC; + SIGNAL xo_rst_n : STD_LOGIC; + SIGNAL mm_clk : STD_LOGIC; + SIGNAL mm_rst : STD_LOGIC; + + SIGNAL st_rst : STD_LOGIC; + SIGNAL st_clk : STD_LOGIC; + + -- PIOs + SIGNAL pout_wdi : STD_LOGIC; + + -- WDI override + SIGNAL reg_wdi_mosi : t_mem_mosi; + SIGNAL reg_wdi_miso : t_mem_miso; + + -- PPSH + SIGNAL reg_ppsh_mosi : t_mem_mosi; + SIGNAL reg_ppsh_miso : t_mem_miso; + + -- UniBoard system info + SIGNAL reg_unb_system_info_mosi : t_mem_mosi; + SIGNAL reg_unb_system_info_miso : t_mem_miso; + SIGNAL rom_unb_system_info_mosi : t_mem_mosi; + SIGNAL rom_unb_system_info_miso : t_mem_miso; + + -- FPGA sensors + SIGNAL reg_fpga_temp_sens_mosi : t_mem_mosi; + SIGNAL reg_fpga_temp_sens_miso : t_mem_miso; + SIGNAL reg_fpga_voltage_sens_mosi : t_mem_mosi; + SIGNAL reg_fpga_voltage_sens_miso : t_mem_miso; + + -- eth1g + SIGNAL eth1g_mm_rst : STD_LOGIC; + SIGNAL eth1g_tse_mosi : t_mem_mosi; -- ETH TSE MAC registers + SIGNAL eth1g_tse_miso : t_mem_miso; + SIGNAL eth1g_reg_mosi : t_mem_mosi; -- ETH control and status registers + SIGNAL eth1g_reg_miso : t_mem_miso; + SIGNAL eth1g_reg_interrupt : STD_LOGIC; -- Interrupt + SIGNAL eth1g_ram_mosi : t_mem_mosi; -- ETH rx frame and tx frame memory + SIGNAL eth1g_ram_miso : t_mem_miso; + + -- EPCS read + SIGNAL reg_dpmm_data_mosi : t_mem_mosi; + SIGNAL reg_dpmm_data_miso : t_mem_miso; + SIGNAL reg_dpmm_ctrl_mosi : t_mem_mosi; + SIGNAL reg_dpmm_ctrl_miso : t_mem_miso; + + -- EPCS write + SIGNAL reg_mmdp_data_mosi : t_mem_mosi; + SIGNAL reg_mmdp_data_miso : t_mem_miso; + SIGNAL reg_mmdp_ctrl_mosi : t_mem_mosi; + SIGNAL reg_mmdp_ctrl_miso : t_mem_miso; + + -- EPCS status/control + SIGNAL reg_epcs_mosi : t_mem_mosi; + SIGNAL reg_epcs_miso : t_mem_miso; + + -- Remote Update + SIGNAL reg_remu_mosi : t_mem_mosi; + SIGNAL reg_remu_miso : t_mem_miso; + + -- Scrap RAM + SIGNAL ram_scrap_mosi : t_mem_mosi; + SIGNAL ram_scrap_miso : t_mem_miso; + + -- QSFP leds + SIGNAL qsfp_green_led_arr : STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp.nof_bus-1 DOWNTO 0); + SIGNAL qsfp_red_led_arr : STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp.nof_bus-1 DOWNTO 0); + +BEGIN + + ----------------------------------------------------------------------------- + -- General control function + ----------------------------------------------------------------------------- + u_ctrl : ENTITY unb2c_board_lib.ctrl_unb2c_board + GENERIC MAP ( + g_sim => g_sim, + g_technology => g_technology, + g_design_name => g_design_name, + g_design_note => g_design_note, + g_stamp_date => g_stamp_date, + g_stamp_time => g_stamp_time, + g_revision_id => g_revision_id, + g_fw_version => c_fw_version, + g_mm_clk_freq => c_mm_clk_freq, + g_eth_clk_freq => c_unb2c_board_eth_clk_freq_125M, + g_aux => c_unb2c_board_aux, + g_factory_image => g_factory_image, + g_protect_addr_range => g_protect_addr_range + ) + PORT MAP ( + -- Clock an reset signals + cs_sim => cs_sim, + xo_ethclk => xo_ethclk, + xo_rst => xo_rst, + xo_rst_n => xo_rst_n, + + mm_clk => mm_clk, + mm_rst => mm_rst, + + dp_rst => st_rst, + dp_clk => st_clk, + dp_pps => OPEN, + dp_rst_in => st_rst, + dp_clk_in => st_clk, + + -- Toggle WDI + pout_wdi => pout_wdi, + + -- MM buses + -- REMU + reg_remu_mosi => reg_remu_mosi, + reg_remu_miso => reg_remu_miso, + + -- EPCS read + reg_dpmm_data_mosi => reg_dpmm_data_mosi, + reg_dpmm_data_miso => reg_dpmm_data_miso, + reg_dpmm_ctrl_mosi => reg_dpmm_ctrl_mosi, + reg_dpmm_ctrl_miso => reg_dpmm_ctrl_miso, + + -- EPCS write + reg_mmdp_data_mosi => reg_mmdp_data_mosi, + reg_mmdp_data_miso => reg_mmdp_data_miso, + reg_mmdp_ctrl_mosi => reg_mmdp_ctrl_mosi, + reg_mmdp_ctrl_miso => reg_mmdp_ctrl_miso, + + -- EPCS status/control + reg_epcs_mosi => reg_epcs_mosi, + reg_epcs_miso => reg_epcs_miso, + + -- . Manual WDI override + reg_wdi_mosi => reg_wdi_mosi, + reg_wdi_miso => reg_wdi_miso, + + -- . System_info + reg_unb_system_info_mosi => reg_unb_system_info_mosi, + reg_unb_system_info_miso => reg_unb_system_info_miso, + rom_unb_system_info_mosi => rom_unb_system_info_mosi, + rom_unb_system_info_miso => rom_unb_system_info_miso, + + -- . FPGA sensors + reg_fpga_temp_sens_mosi => reg_fpga_temp_sens_mosi, + reg_fpga_temp_sens_miso => reg_fpga_temp_sens_miso, + reg_fpga_voltage_sens_mosi => reg_fpga_voltage_sens_mosi, + reg_fpga_voltage_sens_miso => reg_fpga_voltage_sens_miso, + + -- . PPSH + reg_ppsh_mosi => reg_ppsh_mosi, + reg_ppsh_miso => reg_ppsh_miso, + + -- eth1g + eth1g_mm_rst => eth1g_mm_rst, + eth1g_tse_mosi => eth1g_tse_mosi, + eth1g_tse_miso => eth1g_tse_miso, + eth1g_reg_mosi => eth1g_reg_mosi, + eth1g_reg_miso => eth1g_reg_miso, + eth1g_reg_interrupt => eth1g_reg_interrupt, + eth1g_ram_mosi => eth1g_ram_mosi, + eth1g_ram_miso => eth1g_ram_miso, + + -- scrap ram + ram_scrap_mosi => ram_scrap_mosi, + ram_scrap_miso => ram_scrap_miso, + + -- FPGA pins + -- . General + CLK => CLK, + PPS => PPS, + WDI => WDI, + INTA => INTA, + INTB => INTB, + -- . Others + VERSION => VERSION, + ID => ID, + TESTIO => TESTIO, + + -- . 1GbE Control Interface +-- ETH_clk => ETH_CLK(0), +-- ETH_SGIN => ETH_SGIN(0), +-- ETH_SGOUT => ETH_SGOUT(0) + + ETH_clk => ETH_CLK(1), + ETH_SGIN => ETH_SGIN(1), + ETH_SGOUT => ETH_SGOUT(1) + ); + + ----------------------------------------------------------------------------- + -- MM master + ----------------------------------------------------------------------------- + u_mmm : ENTITY work.mmm_unb2c_minimal + GENERIC MAP ( + g_sim => g_sim, + g_sim_unb_nr => g_sim_unb_nr, + g_sim_node_nr => g_sim_node_nr + ) + PORT MAP( + mm_rst => mm_rst, + mm_clk => mm_clk, + + -- PIOs + pout_wdi => pout_wdi, + + -- Manual WDI override + reg_wdi_mosi => reg_wdi_mosi, + reg_wdi_miso => reg_wdi_miso, + + -- system_info + reg_unb_system_info_mosi => reg_unb_system_info_mosi, + reg_unb_system_info_miso => reg_unb_system_info_miso, + rom_unb_system_info_mosi => rom_unb_system_info_mosi, + rom_unb_system_info_miso => rom_unb_system_info_miso, + + -- FPGA sensors + reg_fpga_temp_sens_mosi => reg_fpga_temp_sens_mosi, + reg_fpga_temp_sens_miso => reg_fpga_temp_sens_miso, + reg_fpga_voltage_sens_mosi => reg_fpga_voltage_sens_mosi, + reg_fpga_voltage_sens_miso => reg_fpga_voltage_sens_miso, + + -- PPSH + reg_ppsh_mosi => reg_ppsh_mosi, + reg_ppsh_miso => reg_ppsh_miso, + + -- eth1g + eth1g_mm_rst => eth1g_mm_rst, + eth1g_tse_mosi => eth1g_tse_mosi, + eth1g_tse_miso => eth1g_tse_miso, + eth1g_reg_mosi => eth1g_reg_mosi, + eth1g_reg_miso => eth1g_reg_miso, + eth1g_reg_interrupt => eth1g_reg_interrupt, + eth1g_ram_mosi => eth1g_ram_mosi, + eth1g_ram_miso => eth1g_ram_miso, + + -- EPCS read + reg_dpmm_data_mosi => reg_dpmm_data_mosi, + reg_dpmm_data_miso => reg_dpmm_data_miso, + reg_dpmm_ctrl_mosi => reg_dpmm_ctrl_mosi, + reg_dpmm_ctrl_miso => reg_dpmm_ctrl_miso, + + -- EPCS write + reg_mmdp_data_mosi => reg_mmdp_data_mosi, + reg_mmdp_data_miso => reg_mmdp_data_miso, + reg_mmdp_ctrl_mosi => reg_mmdp_ctrl_mosi, + reg_mmdp_ctrl_miso => reg_mmdp_ctrl_miso, + + -- EPCS status/control + reg_epcs_mosi => reg_epcs_mosi, + reg_epcs_miso => reg_epcs_miso, + + -- Remote Update + reg_remu_mosi => reg_remu_mosi, + reg_remu_miso => reg_remu_miso, + + -- Scrap RAM + ram_scrap_mosi => ram_scrap_mosi, + ram_scrap_miso => ram_scrap_miso + ); + + u_front_led : ENTITY unb2c_board_lib.unb2c_board_qsfp_leds + GENERIC MAP ( + g_sim => g_sim, + g_factory_image => g_factory_image, + g_nof_qsfp => c_unb2c_board_tr_qsfp.nof_bus, + g_pulse_us => 1000 / (10**9 / c_mm_clk_freq) -- nof clk cycles to get us period + ) + PORT MAP ( + rst => mm_rst, + clk => mm_clk, + green_led_arr => qsfp_green_led_arr, + red_led_arr => qsfp_red_led_arr + ); + + u_front_io : ENTITY unb2c_board_lib.unb2c_board_front_io + GENERIC MAP ( + g_nof_qsfp_bus => c_unb2c_board_tr_qsfp.nof_bus + ) + PORT MAP ( + green_led_arr => qsfp_green_led_arr, + red_led_arr => qsfp_red_led_arr, + QSFP_LED => QSFP_LED + ); + +END str; + diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/mmm_lofar2_unb2c_ddrctrl.vhd b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/mmm_lofar2_unb2c_ddrctrl.vhd new file mode 100644 index 0000000000..0448520940 --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/mmm_lofar2_unb2c_ddrctrl.vhd @@ -0,0 +1,289 @@ +------------------------------------------------------------------------------- +-- +-- Copyright (C) 2015 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- + +LIBRARY IEEE, common_lib, unb2c_board_lib, mm_lib; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.NUMERIC_STD.ALL; +USE common_lib.common_pkg.ALL; +USE common_lib.common_mem_pkg.ALL; +USE unb2c_board_lib.unb2c_board_pkg.ALL; +USE unb2c_board_lib.unb2c_board_peripherals_pkg.ALL; +USE mm_lib.mm_file_pkg.ALL; +USE mm_lib.mm_file_unb_pkg.ALL; +USE work.qsys_unb2c_minimal_pkg.ALL; + + +ENTITY mmm_unb2c_minimal IS + GENERIC ( + g_sim : BOOLEAN := FALSE; --FALSE: use QSYS; TRUE: use mm_file I/O + g_sim_unb_nr : NATURAL := 0; + g_sim_node_nr : NATURAL := 0 + ); + PORT ( + mm_rst : IN STD_LOGIC; + mm_clk : IN STD_LOGIC; + + pout_wdi : OUT STD_LOGIC; + + -- Manual WDI override + reg_wdi_mosi : OUT t_mem_mosi; + reg_wdi_miso : IN t_mem_miso; + + -- system_info + reg_unb_system_info_mosi : OUT t_mem_mosi; + reg_unb_system_info_miso : IN t_mem_miso; + rom_unb_system_info_mosi : OUT t_mem_mosi; + rom_unb_system_info_miso : IN t_mem_miso; + + reg_fpga_temp_sens_mosi : OUT t_mem_mosi; + reg_fpga_temp_sens_miso : IN t_mem_miso; + reg_fpga_voltage_sens_mosi: OUT t_mem_mosi; + reg_fpga_voltage_sens_miso: IN t_mem_miso; + + -- PPSH + reg_ppsh_mosi : OUT t_mem_mosi; + reg_ppsh_miso : IN t_mem_miso; + + -- eth1g + eth1g_mm_rst : OUT STD_LOGIC; + eth1g_tse_mosi : OUT t_mem_mosi; + eth1g_tse_miso : IN t_mem_miso; + eth1g_reg_mosi : OUT t_mem_mosi; + eth1g_reg_miso : IN t_mem_miso; + eth1g_reg_interrupt : IN STD_LOGIC; + eth1g_ram_mosi : OUT t_mem_mosi; + eth1g_ram_miso : IN t_mem_miso; + + -- EPCS read + reg_dpmm_data_mosi : OUT t_mem_mosi; + reg_dpmm_data_miso : IN t_mem_miso; + reg_dpmm_ctrl_mosi : OUT t_mem_mosi; + reg_dpmm_ctrl_miso : IN t_mem_miso; + + -- EPCS write + reg_mmdp_data_mosi : OUT t_mem_mosi; + reg_mmdp_data_miso : IN t_mem_miso; + reg_mmdp_ctrl_mosi : OUT t_mem_mosi; + reg_mmdp_ctrl_miso : IN t_mem_miso; + + -- EPCS status/control + reg_epcs_mosi : OUT t_mem_mosi; + reg_epcs_miso : IN t_mem_miso; + + -- Remote Update + reg_remu_mosi : OUT t_mem_mosi; + reg_remu_miso : IN t_mem_miso; + + -- Scrap RAM + ram_scrap_mosi : OUT t_mem_mosi; + ram_scrap_miso : IN t_mem_miso + ); +END mmm_unb2c_minimal; + +ARCHITECTURE str OF mmm_unb2c_minimal IS + + CONSTANT c_sim_node_nr : NATURAL := g_sim_node_nr; + CONSTANT c_sim_node_type : STRING(1 TO 2):= "FN"; + + SIGNAL i_reset_n : STD_LOGIC; + +BEGIN + + ---------------------------------------------------------------------------- + -- MM <-> file I/O for simulation. The files are created in $HDL_IOFILE_SIM_DIR. + ---------------------------------------------------------------------------- + gen_mm_file_io : IF g_sim = TRUE GENERATE + + u_mm_file_reg_unb_system_info : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO") + PORT MAP(mm_rst, mm_clk, reg_unb_system_info_mosi, reg_unb_system_info_miso ); + + u_mm_file_rom_unb_system_info : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO") + PORT MAP(mm_rst, mm_clk, rom_unb_system_info_mosi, rom_unb_system_info_miso ); + + u_mm_file_reg_wdi : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI") + PORT MAP(mm_rst, mm_clk, reg_wdi_mosi, reg_wdi_miso ); + + u_mm_file_reg_fpga_temp_sens : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_TEMP_SENS") + PORT MAP(mm_rst, mm_clk, reg_fpga_temp_sens_mosi, reg_fpga_temp_sens_miso ); + + u_mm_file_reg_fpga_voltage_sens : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_VOLTAGE_SENS") + PORT MAP(mm_rst, mm_clk, reg_fpga_voltage_sens_mosi, reg_fpga_voltage_sens_miso ); + + u_mm_file_reg_ppsh : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS") + PORT MAP(mm_rst, mm_clk, reg_ppsh_mosi, reg_ppsh_miso ); + + u_mm_file_ram_scrap : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SCRAP") + PORT MAP(mm_rst, mm_clk, ram_scrap_mosi, ram_scrap_miso ); + + -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the ethernet<->MM gateway. + u_mm_file_reg_eth : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG") + PORT MAP(mm_rst, mm_clk, eth1g_reg_mosi, eth1g_reg_miso ); + + ---------------------------------------------------------------------------- + -- Procedure that polls a sim control file that can be used to e.g. get + -- the simulation time in ns + ---------------------------------------------------------------------------- + mmf_poll_sim_ctrl_file(mm_clk, c_mmf_unb_file_path & "sim.ctrl", c_mmf_unb_file_path & "sim.stat"); + + END GENERATE; + + i_reset_n <= NOT mm_rst; + + ---------------------------------------------------------------------------- + -- QSYS for synthesis + ---------------------------------------------------------------------------- + gen_qsys : IF g_sim = FALSE GENERATE + u_qsys : qsys_unb2c_minimal + PORT MAP ( + + clk_clk => mm_clk, + reset_reset_n => i_reset_n, + + -- the_pio_wdi: toggled by NIOS II application unb_osy. Connects to WDI via ctrl_unb2c_board. + pio_wdi_external_connection_export => pout_wdi, + + avs_eth_0_reset_export => eth1g_mm_rst, + avs_eth_0_clk_export => OPEN, + avs_eth_0_tse_address_export => eth1g_tse_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_tse_adr_w-1 DOWNTO 0), + avs_eth_0_tse_write_export => eth1g_tse_mosi.wr, + avs_eth_0_tse_read_export => eth1g_tse_mosi.rd, + avs_eth_0_tse_writedata_export => eth1g_tse_mosi.wrdata(c_word_w-1 DOWNTO 0), + avs_eth_0_tse_readdata_export => eth1g_tse_miso.rddata(c_word_w-1 DOWNTO 0), + avs_eth_0_tse_waitrequest_export => eth1g_tse_miso.waitrequest, + avs_eth_0_reg_address_export => eth1g_reg_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_eth_adr_w-1 DOWNTO 0), + avs_eth_0_reg_write_export => eth1g_reg_mosi.wr, + avs_eth_0_reg_read_export => eth1g_reg_mosi.rd, + avs_eth_0_reg_writedata_export => eth1g_reg_mosi.wrdata(c_word_w-1 DOWNTO 0), + avs_eth_0_reg_readdata_export => eth1g_reg_miso.rddata(c_word_w-1 DOWNTO 0), + avs_eth_0_ram_address_export => eth1g_ram_mosi.address(c_unb2c_board_peripherals_mm_reg_default.ram_eth_adr_w-1 DOWNTO 0), + avs_eth_0_ram_write_export => eth1g_ram_mosi.wr, + avs_eth_0_ram_read_export => eth1g_ram_mosi.rd, + avs_eth_0_ram_writedata_export => eth1g_ram_mosi.wrdata(c_word_w-1 DOWNTO 0), + avs_eth_0_ram_readdata_export => eth1g_ram_miso.rddata(c_word_w-1 DOWNTO 0), + avs_eth_0_irq_export => eth1g_reg_interrupt, + + reg_fpga_temp_sens_reset_export => OPEN, + reg_fpga_temp_sens_clk_export => OPEN, + reg_fpga_temp_sens_address_export => reg_fpga_temp_sens_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_fpga_temp_sens_adr_w-1 DOWNTO 0), + reg_fpga_temp_sens_write_export => reg_fpga_temp_sens_mosi.wr, + reg_fpga_temp_sens_writedata_export => reg_fpga_temp_sens_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_fpga_temp_sens_read_export => reg_fpga_temp_sens_mosi.rd, + reg_fpga_temp_sens_readdata_export => reg_fpga_temp_sens_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_fpga_voltage_sens_reset_export => OPEN, + reg_fpga_voltage_sens_clk_export => OPEN, + reg_fpga_voltage_sens_address_export => reg_fpga_voltage_sens_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_fpga_voltage_sens_adr_w-1 DOWNTO 0), + reg_fpga_voltage_sens_write_export => reg_fpga_voltage_sens_mosi.wr, + reg_fpga_voltage_sens_writedata_export => reg_fpga_voltage_sens_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_fpga_voltage_sens_read_export => reg_fpga_voltage_sens_mosi.rd, + reg_fpga_voltage_sens_readdata_export => reg_fpga_voltage_sens_miso.rddata(c_word_w-1 DOWNTO 0), + + rom_system_info_reset_export => OPEN, + rom_system_info_clk_export => OPEN, + rom_system_info_address_export => rom_unb_system_info_mosi.address(c_unb2c_board_peripherals_mm_reg_default.rom_unb_system_info_adr_w-1 DOWNTO 0), + rom_system_info_write_export => rom_unb_system_info_mosi.wr, + rom_system_info_writedata_export => rom_unb_system_info_mosi.wrdata(c_word_w-1 DOWNTO 0), + rom_system_info_read_export => rom_unb_system_info_mosi.rd, + rom_system_info_readdata_export => rom_unb_system_info_miso.rddata(c_word_w-1 DOWNTO 0), + + pio_system_info_reset_export => OPEN, + pio_system_info_clk_export => OPEN, + pio_system_info_address_export => reg_unb_system_info_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_unb_system_info_adr_w-1 DOWNTO 0), + pio_system_info_write_export => reg_unb_system_info_mosi.wr, + pio_system_info_writedata_export => reg_unb_system_info_mosi.wrdata(c_word_w-1 DOWNTO 0), + pio_system_info_read_export => reg_unb_system_info_mosi.rd, + pio_system_info_readdata_export => reg_unb_system_info_miso.rddata(c_word_w-1 DOWNTO 0), + + pio_pps_reset_export => OPEN, + pio_pps_clk_export => OPEN, + pio_pps_address_export => reg_ppsh_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_ppsh_adr_w-1 DOWNTO 0), + pio_pps_write_export => reg_ppsh_mosi.wr, + pio_pps_writedata_export => reg_ppsh_mosi.wrdata(c_word_w-1 DOWNTO 0), + pio_pps_read_export => reg_ppsh_mosi.rd, + pio_pps_readdata_export => reg_ppsh_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_wdi_reset_export => OPEN, + reg_wdi_clk_export => OPEN, + reg_wdi_address_export => reg_wdi_mosi.address(0 DOWNTO 0), + reg_wdi_write_export => reg_wdi_mosi.wr, + reg_wdi_writedata_export => reg_wdi_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_wdi_read_export => reg_wdi_mosi.rd, + reg_wdi_readdata_export => reg_wdi_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_remu_reset_export => OPEN, + reg_remu_clk_export => OPEN, + reg_remu_address_export => reg_remu_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_remu_adr_w-1 DOWNTO 0), + reg_remu_write_export => reg_remu_mosi.wr, + reg_remu_writedata_export => reg_remu_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_remu_read_export => reg_remu_mosi.rd, + reg_remu_readdata_export => reg_remu_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_epcs_reset_export => OPEN, + reg_epcs_clk_export => OPEN, + reg_epcs_address_export => reg_epcs_mosi.address(c_unb2c_board_peripherals_mm_reg_default.reg_epcs_adr_w-1 DOWNTO 0), + reg_epcs_write_export => reg_epcs_mosi.wr, + reg_epcs_writedata_export => reg_epcs_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_epcs_read_export => reg_epcs_mosi.rd, + reg_epcs_readdata_export => reg_epcs_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_dpmm_ctrl_reset_export => OPEN, + reg_dpmm_ctrl_clk_export => OPEN, + reg_dpmm_ctrl_address_export => reg_dpmm_ctrl_mosi.address(0 DOWNTO 0), + reg_dpmm_ctrl_write_export => reg_dpmm_ctrl_mosi.wr, + reg_dpmm_ctrl_writedata_export => reg_dpmm_ctrl_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_dpmm_ctrl_read_export => reg_dpmm_ctrl_mosi.rd, + reg_dpmm_ctrl_readdata_export => reg_dpmm_ctrl_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_mmdp_data_reset_export => OPEN, + reg_mmdp_data_clk_export => OPEN, + reg_mmdp_data_address_export => reg_mmdp_data_mosi.address(0 DOWNTO 0), + reg_mmdp_data_write_export => reg_mmdp_data_mosi.wr, + reg_mmdp_data_writedata_export => reg_mmdp_data_mosi.wrdata(c_word_w-1 DOWNTO 0), + reg_mmdp_data_read_export => reg_mmdp_data_mosi.rd, + reg_mmdp_data_readdata_export => reg_mmdp_data_miso.rddata(c_word_w-1 DOWNTO 0), + + reg_dpmm_data_reset_export => OPEN, + reg_dpmm_data_clk_export => OPEN, + reg_dpmm_data_address_export => reg_dpmm_data_mosi.address(0 DOWNTO 0), + reg_dpmm_data_read_export => reg_dpmm_data_mosi.rd, + reg_dpmm_data_readdata_export => reg_dpmm_data_miso.rddata(c_word_w-1 DOWNTO 0), + reg_dpmm_data_write_export => reg_dpmm_data_mosi.wr, + reg_dpmm_data_writedata_export => reg_dpmm_data_mosi.wrdata(c_word_w-1 DOWNTO 0), + + reg_mmdp_ctrl_reset_export => OPEN, + reg_mmdp_ctrl_clk_export => OPEN, + reg_mmdp_ctrl_address_export => reg_mmdp_ctrl_mosi.address(0 DOWNTO 0), + reg_mmdp_ctrl_read_export => reg_mmdp_ctrl_mosi.rd, + reg_mmdp_ctrl_readdata_export => reg_mmdp_ctrl_miso.rddata(c_word_w-1 DOWNTO 0), + reg_mmdp_ctrl_write_export => reg_mmdp_ctrl_mosi.wr, + reg_mmdp_ctrl_writedata_export => reg_mmdp_ctrl_mosi.wrdata(c_word_w-1 DOWNTO 0), + + ram_scrap_reset_export => OPEN, + ram_scrap_clk_export => OPEN, + ram_scrap_address_export => ram_scrap_mosi.address(8 DOWNTO 0), + ram_scrap_write_export => ram_scrap_mosi.wr, + ram_scrap_writedata_export => ram_scrap_mosi.wrdata(c_word_w-1 DOWNTO 0), + ram_scrap_read_export => ram_scrap_mosi.rd, + ram_scrap_readdata_export => ram_scrap_miso.rddata(c_word_w-1 DOWNTO 0) + ); + END GENERATE; + +END str; diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/qsys_lofar2_unb2c_ddrctrl_pkg.vhd b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/qsys_lofar2_unb2c_ddrctrl_pkg.vhd new file mode 100644 index 0000000000..689b31575a --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/src/vhdl/qsys_lofar2_unb2c_ddrctrl_pkg.vhd @@ -0,0 +1,149 @@ +------------------------------------------------------------------------------- +-- +-- Copyright (C) 2015 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- + +LIBRARY IEEE; +USE IEEE.STD_LOGIC_1164.ALL; + +PACKAGE qsys_unb2c_minimal_pkg IS + + ---------------------------------------------------------------------- + -- this component declaration is copy-pasted from Quartus QSYS builder + ---------------------------------------------------------------------- + + component qsys_unb2c_minimal is + port ( + avs_eth_0_reset_export : out std_logic; -- export + avs_eth_0_clk_export : out std_logic; -- export + avs_eth_0_tse_address_export : out std_logic_vector(9 downto 0); -- export + avs_eth_0_tse_write_export : out std_logic; -- export + avs_eth_0_tse_read_export : out std_logic; -- export + avs_eth_0_tse_writedata_export : out std_logic_vector(31 downto 0); -- export + avs_eth_0_tse_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + avs_eth_0_tse_waitrequest_export : in std_logic := 'X'; -- export + avs_eth_0_reg_address_export : out std_logic_vector(3 downto 0); -- export + avs_eth_0_reg_write_export : out std_logic; -- export + avs_eth_0_reg_read_export : out std_logic; -- export + avs_eth_0_reg_writedata_export : out std_logic_vector(31 downto 0); -- export + avs_eth_0_reg_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + avs_eth_0_ram_address_export : out std_logic_vector(9 downto 0); -- export + avs_eth_0_ram_write_export : out std_logic; -- export + avs_eth_0_ram_read_export : out std_logic; -- export + avs_eth_0_ram_writedata_export : out std_logic_vector(31 downto 0); -- export + avs_eth_0_ram_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + avs_eth_0_irq_export : in std_logic := 'X'; -- export + clk_clk : in std_logic := 'X'; -- clk + reset_reset_n : in std_logic := 'X'; -- reset_n + pio_pps_reset_export : out std_logic; -- export + pio_pps_clk_export : out std_logic; -- export + pio_pps_address_export : out std_logic_vector(1 downto 0); -- export + pio_pps_write_export : out std_logic; -- export + pio_pps_writedata_export : out std_logic_vector(31 downto 0); -- export + pio_pps_read_export : out std_logic; -- export + pio_pps_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + pio_system_info_reset_export : out std_logic; -- export + pio_system_info_clk_export : out std_logic; -- export + pio_system_info_address_export : out std_logic_vector(4 downto 0); -- export + pio_system_info_write_export : out std_logic; -- export + pio_system_info_writedata_export : out std_logic_vector(31 downto 0); -- export + pio_system_info_read_export : out std_logic; -- export + pio_system_info_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + pio_wdi_external_connection_export : out std_logic; -- export + ram_scrap_reset_export : out std_logic; -- export + ram_scrap_clk_export : out std_logic; -- export + ram_scrap_address_export : out std_logic_vector(8 downto 0); -- export + ram_scrap_write_export : out std_logic; -- export + ram_scrap_writedata_export : out std_logic_vector(31 downto 0); -- export + ram_scrap_read_export : out std_logic; -- export + ram_scrap_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_dpmm_ctrl_reset_export : out std_logic; -- export + reg_dpmm_ctrl_clk_export : out std_logic; -- export + reg_dpmm_ctrl_address_export : out std_logic_vector(0 downto 0); -- export + reg_dpmm_ctrl_write_export : out std_logic; -- export + reg_dpmm_ctrl_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_dpmm_ctrl_read_export : out std_logic; -- export + reg_dpmm_ctrl_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_dpmm_data_reset_export : out std_logic; -- export + reg_dpmm_data_clk_export : out std_logic; -- export + reg_dpmm_data_address_export : out std_logic_vector(0 downto 0); -- export + reg_dpmm_data_write_export : out std_logic; -- export + reg_dpmm_data_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_dpmm_data_read_export : out std_logic; -- export + reg_dpmm_data_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_epcs_reset_export : out std_logic; -- export + reg_epcs_clk_export : out std_logic; -- export + reg_epcs_address_export : out std_logic_vector(2 downto 0); -- export + reg_epcs_write_export : out std_logic; -- export + reg_epcs_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_epcs_read_export : out std_logic; -- export + reg_epcs_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_fpga_temp_sens_reset_export : out std_logic; -- export + reg_fpga_temp_sens_clk_export : out std_logic; -- export + reg_fpga_temp_sens_address_export : out std_logic_vector(2 downto 0); -- export + reg_fpga_temp_sens_write_export : out std_logic; -- export + reg_fpga_temp_sens_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_fpga_temp_sens_read_export : out std_logic; -- export + reg_fpga_temp_sens_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_fpga_voltage_sens_reset_export : out std_logic; -- export + reg_fpga_voltage_sens_clk_export : out std_logic; -- export + reg_fpga_voltage_sens_address_export : out std_logic_vector(3 downto 0); -- export + reg_fpga_voltage_sens_write_export : out std_logic; -- export + reg_fpga_voltage_sens_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_fpga_voltage_sens_read_export : out std_logic; -- export + reg_fpga_voltage_sens_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_mmdp_ctrl_reset_export : out std_logic; -- export + reg_mmdp_ctrl_clk_export : out std_logic; -- export + reg_mmdp_ctrl_address_export : out std_logic_vector(0 downto 0); -- export + reg_mmdp_ctrl_write_export : out std_logic; -- export + reg_mmdp_ctrl_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_mmdp_ctrl_read_export : out std_logic; -- export + reg_mmdp_ctrl_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_mmdp_data_reset_export : out std_logic; -- export + reg_mmdp_data_clk_export : out std_logic; -- export + reg_mmdp_data_address_export : out std_logic_vector(0 downto 0); -- export + reg_mmdp_data_write_export : out std_logic; -- export + reg_mmdp_data_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_mmdp_data_read_export : out std_logic; -- export + reg_mmdp_data_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_remu_reset_export : out std_logic; -- export + reg_remu_clk_export : out std_logic; -- export + reg_remu_address_export : out std_logic_vector(2 downto 0); -- export + reg_remu_write_export : out std_logic; -- export + reg_remu_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_remu_read_export : out std_logic; -- export + reg_remu_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + reg_wdi_reset_export : out std_logic; -- export + reg_wdi_clk_export : out std_logic; -- export + reg_wdi_address_export : out std_logic_vector(0 downto 0); -- export + reg_wdi_write_export : out std_logic; -- export + reg_wdi_writedata_export : out std_logic_vector(31 downto 0); -- export + reg_wdi_read_export : out std_logic; -- export + reg_wdi_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X'); -- export + rom_system_info_reset_export : out std_logic; -- export + rom_system_info_clk_export : out std_logic; -- export + rom_system_info_address_export : out std_logic_vector(12 downto 0); -- export + rom_system_info_write_export : out std_logic; -- export + rom_system_info_writedata_export : out std_logic_vector(31 downto 0); -- export + rom_system_info_read_export : out std_logic; -- export + rom_system_info_readdata_export : in std_logic_vector(31 downto 0) := (others => 'X') -- export + ); + end component qsys_unb2c_minimal; + +END qsys_unb2c_minimal_pkg; diff --git a/applications/lofar2/designs/lofar2_unb2c_ddrctrl/tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd new file mode 100644 index 0000000000..7d11c7245e --- /dev/null +++ b/applications/lofar2/designs/lofar2_unb2c_ddrctrl/tb/vhdl/tb_lofar2_unb2c_ddrctrl.vhd @@ -0,0 +1,151 @@ +------------------------------------------------------------------------------- +-- +-- Copyright (C) 2012 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- + +-- Purpose: Test bench for unb2c_minimal. +-- Description: +-- The DUT can be targeted at unb 0, node 3 with the same Python scripts +-- that are used on hardware. +-- Usage: +-- On command line do: +-- > run_modelsim & (to start Modeslim) +-- +-- In Modelsim do: +-- > lp unb2c_minimal +-- > mk clean all (only first time to clean all libraries) +-- > mk all (to compile all libraries that are needed for unb2c_minimal) +-- . load tb_unb1_minimal simulation by double clicking the tb_unb2c_minimal icon +-- > as 10 (to view signals in Wave Window) +-- > run 100 us (or run -all) +-- +-- On command line do: +-- > python $UPE_GEAR/peripherals/util_system_info.py --gn 3 -n 0 -v 5 --sim +-- > python $UPE_GEAR/peripherals/util_ppsh.py --gn 3 -n 1 -v 5 --sim +-- + +LIBRARY IEEE, common_lib, unb2c_board_lib, i2c_lib; +USE IEEE.std_logic_1164.ALL; +USE IEEE.numeric_std.ALL; +USE common_lib.common_pkg.ALL; +USE unb2c_board_lib.unb2c_board_pkg.ALL; +USE common_lib.tb_common_pkg.ALL; +USE i2c_lib.i2c_dev_unb2_pkg.ALL; +USE i2c_lib.i2c_commander_unb2_pmbus_pkg.ALL; + +ENTITY tb_unb2c_minimal IS + GENERIC ( + g_design_name : STRING := "unb2c_minimal"; + g_sim_unb_nr : NATURAL := 0; -- UniBoard 0 + g_sim_node_nr : NATURAL := 3 -- Node 3 + ); +END tb_unb2c_minimal; + +ARCHITECTURE tb OF tb_unb2c_minimal IS + + CONSTANT c_sim : BOOLEAN := TRUE; + + CONSTANT c_unb_nr : NATURAL := 0; -- UniBoard 0 + CONSTANT c_node_nr : NATURAL := 3; -- Node 3 + CONSTANT c_id : STD_LOGIC_VECTOR(7 DOWNTO 0) := TO_UVEC(c_unb_nr, c_unb2c_board_nof_uniboard_w) & TO_UVEC(c_node_nr, c_unb2c_board_nof_chip_w); + + CONSTANT c_version : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00"; + CONSTANT c_fw_version : t_unb2c_board_fw_version := (1, 0); + + CONSTANT c_cable_delay : TIME := 12 ns; + CONSTANT c_eth_clk_period : TIME := 8 ns; -- 125 MHz XO on UniBoard + CONSTANT c_clk_period : TIME := 5 ns; + CONSTANT c_pps_period : NATURAL := 1000; + + -- DUT + SIGNAL clk : STD_LOGIC := '0'; + SIGNAL pps : STD_LOGIC := '0'; + SIGNAL pps_rst : STD_LOGIC := '0'; + + SIGNAL WDI : STD_LOGIC; + SIGNAL INTA : STD_LOGIC; + SIGNAL INTB : STD_LOGIC; + + SIGNAL eth_clk : STD_LOGIC_VECTOR(1 DOWNTO 0); + SIGNAL eth_txp : STD_LOGIC_VECTOR(1 DOWNTO 0); + SIGNAL eth_rxp : STD_LOGIC_VECTOR(1 DOWNTO 0); + + SIGNAL VERSION : STD_LOGIC_VECTOR(c_unb2c_board_aux.version_w-1 DOWNTO 0) := c_version; + SIGNAL ID : STD_LOGIC_VECTOR(c_unb2c_board_aux.id_w-1 DOWNTO 0) := c_id; + SIGNAL TESTIO : STD_LOGIC_VECTOR(c_unb2c_board_aux.testio_w-1 DOWNTO 0); + + SIGNAL qsfp_led : STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0); + +BEGIN + + ---------------------------------------------------------------------------- + -- System setup + ---------------------------------------------------------------------------- + clk <= NOT clk AFTER c_clk_period/2; -- External clock (200 MHz) + eth_clk(0) <= NOT eth_clk(0) AFTER c_eth_clk_period/2; -- Ethernet ref clock (25 MHz) + + INTA <= 'H'; -- pull up + INTB <= 'H'; -- pull up + + ------------------------------------------------------------------------------ + -- External PPS + ------------------------------------------------------------------------------ + proc_common_gen_pulse(1, c_pps_period, '1', pps_rst, clk, pps); + + ------------------------------------------------------------------------------ + -- 1GbE Loopback model + ------------------------------------------------------------------------------ + eth_rxp(0) <= TRANSPORT eth_txp(0) AFTER c_cable_delay; + + eth_rxp(1) <= '0'; + eth_txp(1) <= '0'; + + ------------------------------------------------------------------------------ + -- DUT + ------------------------------------------------------------------------------ + u_unb2c_minimal : ENTITY work.unb2c_minimal + GENERIC MAP ( + g_sim => c_sim, + g_sim_unb_nr => c_unb_nr, + g_sim_node_nr => c_node_nr, + g_design_name => g_design_name + ) + PORT MAP ( + -- GENERAL + CLK => clk, + PPS => pps, + WDI => WDI, + INTA => INTA, + INTB => INTB, + + -- Others + VERSION => VERSION, + ID => ID, + TESTIO => TESTIO, + + -- 1GbE Control Interface + ETH_clk => eth_clk, + ETH_SGIN => eth_rxp, + ETH_SGOUT => eth_txp, + + QSFP_LED => qsfp_led + ); + +END tb; -- GitLab