OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui
    from Rev 29 to Rev 30
    Reverse comparison

Rev 29 → Rev 30

/lib/ip/Eth/ethmac_100.IP
3,7 → 3,7
##
## Copyright (C) 2014-2016 Alireza Monemi
##
## This file is part of ProNoC 1.5.0
## This file is part of ProNoC 1.5.1
##
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
## MAY CAUSE UNEXPECTED BEHAIVOR.
39,9 → 39,8
'/mpsoc/src_peripheral/ethmac/rtl/eth_wishbone.v',
'/mpsoc/src_peripheral/ethmac/rtl/timescale.v',
'/mpsoc/src_peripheral/ethmac/rtl/xilinx_dist_ram_16x32.v',
'/mpsoc/src_peripheral/ram/general_single_port_ram.v',
'/mpsoc/src_peripheral/ram/general_dual_port_ram.v',
'/mpsoc/src_peripheral/ethmac/ethtop.v'
'/mpsoc/src_peripheral/ethmac/ethtop.v',
'/mpsoc/src_peripheral/ethmac/eth_generic_ram.v'
],
'custom_file' => {
'0' => {}
150,9 → 149,56
},
'category' => 'Eth',
'sw_files' => [],
'modules' => {
'ethtop' => {}
},
'plugs' => {
'wb_master' => {
'wb_master' => {},
'0' => {
'name' => 'wb_master'
},
'value' => 1,
'type' => 'num'
},
'interrupt_peripheral' => {
'interrupt_peripheral' => {},
'0' => {
'name' => 'interrupt_peripheral'
},
'value' => 1,
'type' => 'num'
},
'reset' => {
'reset' => {},
'0' => {
'name' => 'reset'
},
'value' => 1,
'type' => 'num'
},
'clk' => {
'clk' => {},
'0' => {
'name' => 'clk'
},
'value' => 1,
'type' => 'num'
},
'wb_slave' => {
'0' => {
'width' => 11,
'name' => 'wb_slave',
'addr' => '0x9200_0000 0x92ff_ffff Ethernet Controller'
},
'value' => 1,
'type' => 'num',
'wb_slave' => {}
}
},
'gui_status' => {
'timeout' => 0,
'status' => 'ideal'
'status' => 'ideal',
'timeout' => 0
},
'parameters' => {
'RX_FIFO_DEPTH' => {
160,8 → 206,8
'deafult' => ' 16',
'global_param' => 0,
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
'redefine_param' => 1,
'type' => 'Fixed'
},
'TX_FIFO_DATA_WIDTH' => {
'info' => undef,
168,8 → 214,8
'deafult' => ' 32',
'global_param' => 0,
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
'redefine_param' => 1,
'type' => 'Fixed'
},
'RX_FIFO_DATA_WIDTH' => {
'info' => undef,
176,8 → 222,8
'deafult' => ' 32',
'global_param' => 0,
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
'redefine_param' => 1,
'type' => 'Fixed'
},
'RX_FIFO_CNT_WIDTH' => {
'info' => undef,
184,8 → 230,8
'deafult' => ' 5',
'global_param' => 0,
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
'redefine_param' => 1,
'type' => 'Fixed'
},
'TX_FIFO_CNT_WIDTH' => {
'info' => undef,
192,8 → 238,8
'deafult' => ' 5',
'global_param' => 0,
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
'redefine_param' => 1,
'type' => 'Fixed'
},
'TX_FIFO_DEPTH' => {
'info' => undef,
200,267 → 246,220
'deafult' => ' 16',
'global_param' => 0,
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
'redefine_param' => 1,
'type' => 'Fixed'
}
},
'modules' => {
'ethtop' => {}
},
'plugs' => {
'wb_master' => {
'wb_master' => {},
'value' => 1,
'0' => {
'name' => 'wb_master'
},
'type' => 'num'
},
'clk' => {
'clk' => {},
'value' => 1,
'0' => {
'name' => 'clk'
},
'type' => 'num'
},
'reset' => {
'reset' => {},
'value' => 1,
'0' => {
'name' => 'reset'
},
'type' => 'num'
},
'interrupt_peripheral' => {
'interrupt_peripheral' => {},
'value' => 1,
'0' => {
'name' => 'interrupt_peripheral'
},
'type' => 'num'
},
'wb_slave' => {
'value' => 1,
'0' => {
'width' => 11,
'name' => 'wb_slave',
'addr' => '0x9200_0000 0x92ff_ffff Ethernet Controller'
},
'type' => 'num',
'wb_slave' => {}
}
},
'ports' => {
'wb_sel_i' => {
'intfc_port' => 'sel_i',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'sel_i',
'range' => '3:0',
'type' => 'input'
},
'm_wb_we_o' => {
'intfc_port' => 'we_o',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'we_o',
'range' => '',
'type' => 'output'
},
'wb_we_i' => {
'intfc_port' => 'we_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'input'
},
'wb_err_o' => {
'intfc_port' => 'err_o',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'err_o',
'range' => '',
'type' => 'output'
},
'wb_we_i' => {
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'we_i',
'range' => '',
'type' => 'input'
},
'wb_dat_o' => {
'intfc_port' => 'dat_o',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'dat_o',
'range' => '31:0',
'type' => 'output'
},
'wb_rst_i' => {
'intfc_port' => 'reset_i',
'intfc_name' => 'plug:reset[0]',
'intfc_port' => 'reset_i',
'range' => '',
'type' => 'input'
},
'wb_cyc_i' => {
'intfc_port' => 'cyc_i',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'cyc_i',
'range' => '',
'type' => 'input'
},
'm_wb_err_i' => {
'intfc_port' => 'err_i',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'err_i',
'range' => '',
'type' => 'input'
},
'm_wb_dat_i' => {
'intfc_port' => 'dat_i',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'dat_i',
'range' => '31:0',
'type' => 'input'
},
'mdc_pad_o' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'output'
},
'm_wb_sel_o' => {
'intfc_port' => 'sel_o',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'sel_o',
'range' => '3:0',
'type' => 'output'
},
'md_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'mcrs_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'm_wb_dat_o' => {
'intfc_port' => 'dat_o',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'dat_o',
'range' => '31:0',
'type' => 'output'
},
'md_padoe_o' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'output'
},
'wb_adr_i' => {
'intfc_port' => 'adr_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '9:0',
'type' => 'input'
},
'm_wb_adr_o' => {
'intfc_port' => 'adr_o',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'adr_o',
'range' => '31:0',
'type' => 'output'
},
'wb_adr_i' => {
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'adr_i',
'range' => '9:0',
'type' => 'input'
},
'mrxerr_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'mrxd_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '3:0',
'type' => 'input'
},
'mtxd_pad_o' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '3:0',
'type' => 'output'
},
'wb_ack_o' => {
'intfc_port' => 'ack_o',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'ack_o',
'range' => '',
'type' => 'output'
},
'mtxen_pad_o' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'output'
},
'mcoll_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'int_o' => {
'intfc_port' => 'int_o',
'intfc_name' => 'plug:interrupt_peripheral[0]',
'intfc_port' => 'int_o',
'range' => '',
'type' => 'output'
},
'm_wb_ack_i' => {
'intfc_port' => 'ack_i',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'ack_i',
'range' => '',
'type' => 'input'
},
'wb_stb_i' => {
'intfc_port' => 'stb_i',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'stb_i',
'range' => '',
'type' => 'input'
},
'mrx_clk_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'wb_clk_i' => {
'intfc_port' => 'clk_i',
'intfc_name' => 'plug:clk[0]',
'intfc_port' => 'clk_i',
'range' => '',
'type' => 'input'
},
'md_pad_o' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'output'
},
'm_wb_cyc_o' => {
'intfc_port' => 'cyc_o',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'cyc_o',
'range' => '',
'type' => 'output'
},
'mrxdv_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'mtxerr_pad_o' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'output'
},
'mtx_clk_pad_i' => {
'intfc_port' => 'IO',
'intfc_name' => 'IO',
'intfc_port' => 'IO',
'range' => '',
'type' => 'input'
},
'm_wb_stb_o' => {
'intfc_port' => 'stb_o',
'intfc_name' => 'plug:wb_master[0]',
'range' => '',
'type' => 'output'
},
'wb_dat_i' => {
'intfc_port' => 'dat_i',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'dat_i',
'range' => '31:0',
'type' => 'input'
},
'm_wb_stb_o' => {
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'stb_o',
'range' => '',
'type' => 'output'
}
}
}
}, 'ip_gen' );
/lib/ip/JTAG/jtag_wb.IP
3,7 → 3,7
##
## Copyright (C) 2014-2016 Alireza Monemi
##
## This file is part of ProNoC 1.5.0
## This file is part of ProNoC 1.5.1
##
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
## MAY CAUSE UNEXPECTED BEHAIVOR.
10,210 → 10,210
################################################################################
 
$vjtag_wb = bless( {
'hdl_files' => [
'/mpsoc/src_peripheral/jtag/jtag_wb'
],
'plugs' => {
'wb_master' => {
'wb_master' => {},
'value' => 1,
'type' => 'num',
'0' => {
'name' => 'wbm'
}
},
'reset' => {
'reset' => {},
'value' => 1,
'type' => 'num',
'0' => {
'name' => 'reset'
}
},
'clk' => {
'type' => 'num',
'value' => 1,
'0' => {
'name' => 'clk'
},
'clk' => {}
}
},
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/jtag/jtag_wb/vjtag_wb.v',
'parameters_order' => [
'DW',
'AW',
'S_Aw',
'M_Aw',
'TAGw',
'SELw',
'VJTAG_INDEX'
],
'modules' => {
'vjtag_wb' => {},
'wb_if' => {},
'vjtag_ctrl' => {}
},
'description' => 'A jtag to wishbone interface',
'ip_name' => 'jtag_wb',
'gui_status' => {
'timeout' => 0,
'status' => 'ideal'
},
'module_name' => 'vjtag_wb',
'parameters' => {
'AW' => {
'info' => 'Parameter',
'deafult' => '32',
'global_param' => 'Localparam',
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
},
'SELw' => {
'info' => 'Parameter',
'content' => '',
'type' => 'Fixed',
'deafult' => ' 4',
'redefine_param' => 1,
'global_param' => 'Localparam'
},
'TAGw' => {
'global_param' => 'Localparam',
'info' => 'Parameter',
'content' => '',
'deafult' => ' 3',
'type' => 'Fixed',
'redefine_param' => 1
},
'TAGw' => {
'S_Aw' => {
'global_param' => 'Localparam',
'type' => 'Fixed',
'deafult' => ' 7',
'redefine_param' => 1,
'info' => 'Parameter',
'deafult' => ' 3',
'content' => ''
},
'M_Aw' => {
'global_param' => 'Localparam',
'content' => '',
'info' => 'Parameter',
'redefine_param' => 1,
'type' => 'Fixed',
'redefine_param' => 1
'deafult' => ' 32'
},
'VJTAG_INDEX' => {
'info' => 'JTAG control host identifies each instance of this IP core by a unique index number. The default value is the tile ID number. You assign an index value between 0 to 255.',
'deafult' => 'CORE_ID',
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Entry'
},
'DW' => {
'global_param' => 'Localparam',
'deafult' => '32',
'type' => 'Spin-button',
'redefine_param' => 1,
'info' => 'Parameter',
'deafult' => '32',
'content' => '4,1024,8'
},
'AW' => {
'global_param' => 'Localparam',
'info' => 'Parameter',
'content' => '',
'type' => 'Fixed',
'deafult' => '32',
'redefine_param' => 1
},
'S_Aw' => {
'info' => 'Parameter',
'deafult' => ' 7',
'global_param' => 'Localparam',
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
},
'M_Aw' => {
'info' => 'Parameter',
'deafult' => ' 32',
'global_param' => 'Localparam',
'content' => '',
'type' => 'Fixed',
'redefine_param' => 1
}
'VJTAG_INDEX' => {
'content' => '',
'info' => 'JTAG control host identifies each instance of this IP core by a unique index number. The default value is the tile ID number. You assign an index value between 0 to 255.',
'redefine_param' => 1,
'deafult' => 'CORE_ID',
'type' => 'Entry',
'global_param' => 'Localparam'
}
},
'plugs' => {
'wb_master' => {
'wb_master' => {},
'0' => {
'name' => 'wbm'
},
'value' => 1,
'type' => 'num'
},
'reset' => {
'reset' => {},
'0' => {
'name' => 'reset'
},
'value' => 1,
'type' => 'num'
},
'clk' => {
'clk' => {},
'0' => {
'name' => 'clk'
},
'value' => 1,
'type' => 'num'
}
},
'modules' => {
'wb_if' => {},
'vjtag_wb' => {},
'vjtag_ctrl' => {}
},
'ports_order' => [
'clk',
'reset',
'm_sel_o',
'm_dat_o',
'm_addr_o',
'm_cti_o',
'm_stb_o',
'm_cyc_o',
'm_we_o',
'm_dat_i',
'm_ack_i',
'status_i'
],
'ports' => {
'm_we_o' => {
'range' => '',
'intfc_port' => 'we_o',
'intfc_name' => 'plug:wb_master[0]',
'type' => 'output'
},
'm_dat_i' => {
'intfc_name' => 'plug:wb_master[0]',
'range' => 'DW-1 : 0',
'intfc_port' => 'dat_i',
'range' => 'DW-1 : 0',
'type' => 'input'
'type' => 'input',
'intfc_name' => 'plug:wb_master[0]'
},
'm_sel_o' => {
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'sel_o',
'range' => 'SELw-1 : 0',
'type' => 'output'
},
'clk' => {
'intfc_port' => 'clk_i',
'range' => '',
'intfc_name' => 'plug:clk[0]',
'type' => 'input'
},
'm_addr_o' => {
'range' => 'M_Aw-1 : 0',
'intfc_port' => 'adr_o',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'adr_o',
'range' => 'M_Aw-1 : 0',
'type' => 'output'
},
'm_dat_o' => {
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'dat_o',
'range' => 'DW-1 : 0',
'type' => 'output'
},
'm_cyc_o' => {
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'cyc_o',
'range' => '',
'type' => 'output'
'type' => 'output',
'intfc_name' => 'plug:wb_master[0]'
},
'm_cti_o' => {
'm_dat_o' => {
'type' => 'output',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'cti_o',
'range' => 'TAGw-1 : 0',
'type' => 'output'
'range' => 'DW-1 : 0',
'intfc_port' => 'dat_o'
},
'm_stb_o' => {
'm_sel_o' => {
'type' => 'output',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'stb_o',
'range' => '',
'type' => 'output'
'range' => 'SELw-1 : 0',
'intfc_port' => 'sel_o'
},
'm_we_o' => {
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'we_o',
'range' => '',
'type' => 'output'
},
'status_i' => {
'intfc_name' => 'IO',
'intfc_port' => 'NC',
'range' => '',
'type' => 'input'
},
'clk' => {
'intfc_name' => 'plug:clk[0]',
'intfc_port' => 'clk_i',
'range' => '',
'type' => 'input'
},
'reset' => {
'intfc_name' => 'plug:reset[0]',
'intfc_port' => 'reset_i',
'type' => 'input',
'range' => '',
'type' => 'input'
'intfc_port' => 'reset_i'
},
'm_ack_i' => {
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'ack_i',
'type' => 'input',
'range' => '',
'type' => 'input'
'intfc_port' => 'ack_i'
},
'status_i' => {
'range' => '',
'intfc_port' => 'NC',
'intfc_name' => 'IO',
'type' => 'input'
},
'm_cti_o' => {
'intfc_port' => 'cti_o',
'range' => 'TAGw-1 : 0',
'type' => 'output',
'intfc_name' => 'plug:wb_master[0]'
},
'm_stb_o' => {
'type' => 'output',
'intfc_name' => 'plug:wb_master[0]',
'intfc_port' => 'stb_o',
'range' => ''
}
},
'parameters_order' => [
'DW',
'AW',
'S_Aw',
'M_Aw',
'TAGw',
'SELw',
'VJTAG_INDEX'
],
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/jtag/jtag_wb/vjtag_wb.v',
'module_name' => 'vjtag_wb',
'hdl_files' => [
'/mpsoc/src_peripheral/jtag/jtag_wb'
],
'ip_name' => 'jtag_wb',
'gui_status' => {
'timeout' => 0,
'status' => 'ideal'
},
'unused' => {
'plug:wb_master[0]' => [
'bte_o',
'tag_o',
'bte_o',
'err_i',
'rty_i'
'rty_i',
'err_i'
]
},
'category' => 'JTAG'
'category' => 'JTAG',
'ports_order' => [
'clk',
'reset',
'm_sel_o',
'm_dat_o',
'm_addr_o',
'm_cti_o',
'm_stb_o',
'm_cyc_o',
'm_we_o',
'm_dat_i',
'm_ack_i',
'status_i'
]
}, 'ip_gen' );
/lib/ip/NoC/ni_sep.IP
3,7 → 3,7
##
## Copyright (C) 2014-2016 Alireza Monemi
##
## This file is part of ProNoC 1.5.0
## This file is part of ProNoC 1.5.1
##
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
## MAY CAUSE UNEXPECTED BEHAIVOR.
112,15 → 112,160
${IP}_wait_for_reading_pck();
}',
'ip_name' => 'ni_sep',
'gui_status' => {
'timeout' => 0,
'status' => 'ideal'
},
'parameters_order' => [
'V',
'B',
'NX',
'NY',
'Fpay',
'TOPOLOGY',
'ROUTE_NAME',
'DEBUG_EN',
'COMB_MEM_PTR_W',
'COMB_PCK_SIZE_W',
'Dw',
'S_Aw',
'M_Aw',
'TAGw',
'SELw',
'Yw',
'Fw',
'Xw'
],
'ports_order' => [
'reset',
'clk',
'current_x',
'current_y',
'flit_out',
'flit_out_wr',
'credit_in',
'flit_in',
'flit_in_wr',
'credit_out',
's_dat_i',
's_sel_i',
's_addr_i',
's_cti_i',
's_stb_i',
's_cyc_i',
's_we_i',
's_dat_o',
's_ack_o',
'm_rd_sel_o',
'm_rd_dat_o',
'm_rd_addr_o',
'm_rd_cti_o',
'm_rd_stb_o',
'm_rd_cyc_o',
'm_rd_we_o',
'm_rd_ack_i',
'm_wr_sel_o',
'm_wr_addr_o',
'm_wr_cti_o',
'm_wr_stb_o',
'm_wr_cyc_o',
'm_wr_we_o',
'm_wr_dat_i',
'm_wr_ack_i',
'irq'
],
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/ni/ni_sep.v',
'sockets' => {
'ni' => {
'connection_num' => 'single connection',
'0' => {
'name' => 'ni'
},
'value' => 1,
'type' => 'num',
'ni' => {}
}
},
'module_name' => 'ni_sep',
'unused' => {
'plug:wb_master[1]' => [
'tag_o',
'bte_o',
'dat_o',
'err_i',
'rty_i'
],
'plug:wb_slave[0]' => [
'err_o',
'rty_o',
'tag_i',
'bte_i'
],
'plug:wb_master[0]' => [
'tag_o',
'dat_i',
'bte_o',
'err_i',
'rty_i'
]
},
'category' => 'NoC',
'plugs' => {
'wb_master' => {
'wb_master' => {},
'1' => {
'name' => 'wb_wr'
},
'0' => {
'name' => 'wb_rd'
},
'value' => 2,
'type' => 'num'
},
'reset' => {
'reset' => {},
'0' => {
'name' => 'reset'
},
'value' => 1,
'type' => 'num'
},
'clk' => {
'clk' => {},
'0' => {
'name' => 'clk'
},
'value' => 1,
'type' => 'num'
},
'interrupt_peripheral' => {
'interrupt_peripheral' => {},
'value' => 1,
'0' => {
'name' => 'intrpt_prhl'
},
'type' => 'num'
},
'wb_slave' => {
'1' => {
'width' => 1,
'name' => 'wb_slave_1',
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O'
},
'0' => {
'width' => 9,
'name' => 'wb_slave',
'addr' => '0xb800_0000 0xbfff_ffff custom devices'
},
'value' => 1,
'type' => 'num',
'wb_slave' => {}
}
},
'modules' => {
'ni_sep' => {}
},
'parameters' => {
'Dw' => {
'info' => undef,
'deafult' => ' 32',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
128,7 → 273,7
'DEBUG_EN' => {
'info' => undef,
'deafult' => '0',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
136,7 → 281,7
'NY' => {
'info' => undef,
'deafult' => ' 2',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
144,7 → 289,7
'NX' => {
'info' => undef,
'deafult' => ' 2',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
152,7 → 297,7
'V' => {
'info' => '',
'deafult' => ' 4',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
168,7 → 313,7
'Fw' => {
'info' => undef,
'deafult' => '2+V+Fpay',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 0,
'type' => 'Fixed'
176,7 → 321,7
'COMB_PCK_SIZE_W' => {
'info' => undef,
'deafult' => '12',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
184,7 → 329,7
'TAGw' => {
'info' => undef,
'deafult' => '3',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
192,7 → 337,7
'M_Aw' => {
'info' => undef,
'deafult' => '32',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
200,7 → 345,7
'COMB_MEM_PTR_W' => {
'info' => undef,
'deafult' => '20',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
208,7 → 353,7
'ROUTE_NAME' => {
'info' => undef,
'deafult' => '"XY"',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
224,7 → 369,7
'Fpay' => {
'info' => undef,
'deafult' => ' 32',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
240,7 → 385,7
'SELw' => {
'info' => undef,
'deafult' => '4 ',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
256,7 → 401,7
'B' => {
'info' => '',
'deafult' => ' 4',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
263,8 → 408,8
},
'S_Aw' => {
'info' => undef,
'deafult' => ' 3',
'global_param' => 0,
'deafult' => '7',
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
272,7 → 417,7
'TOPOLOGY' => {
'info' => undef,
'deafult' => '"MESH"',
'global_param' => 1,
'global_param' => 'Parameter',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
280,7 → 425,7
'Xw' => {
'info' => undef,
'deafult' => 'log2(NX)',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'type' => 'Fixed',
'redefine_param' => 0
288,7 → 433,7
'Yw' => {
'info' => undef,
'deafult' => 'log2(NY)',
'global_param' => 0,
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 0,
'type' => 'Fixed'
310,119 → 455,10
'redefine_param' => 1
}
},
'modules' => {
'ni_sep' => {}
},
'plugs' => {
'wb_master' => {
'wb_master' => {},
'1' => {
'name' => 'wb_wr'
},
'0' => {
'name' => 'wb_rd'
},
'value' => 2,
'type' => 'num'
},
'reset' => {
'reset' => {},
'0' => {
'name' => 'reset'
},
'value' => 1,
'type' => 'num'
},
'clk' => {
'clk' => {},
'0' => {
'name' => 'clk'
},
'value' => 1,
'type' => 'num'
},
'interrupt_peripheral' => {
'interrupt_peripheral' => {},
'value' => 1,
'0' => {
'name' => 'intrpt_prhl'
},
'type' => 'num'
},
'wb_slave' => {
'1' => {
'width' => 1,
'name' => 'wb_slave_1',
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O'
},
'0' => {
'width' => 5,
'name' => 'wb_slave',
'addr' => '0xb800_0000 0xbfff_ffff custom devices'
},
'value' => 1,
'type' => 'num',
'wb_slave' => {}
}
},
'ports_order' => [
'reset',
'clk',
'current_x',
'current_y',
'flit_out',
'flit_out_wr',
'credit_in',
'flit_in',
'flit_in_wr',
'credit_out',
's_dat_i',
's_sel_i',
's_addr_i',
's_cti_i',
's_stb_i',
's_cyc_i',
's_we_i',
's_dat_o',
's_ack_o',
'm_rd_sel_o',
'm_rd_dat_o',
'm_rd_addr_o',
'm_rd_cti_o',
'm_rd_stb_o',
'm_rd_cyc_o',
'm_rd_we_o',
'm_rd_ack_i',
'm_wr_sel_o',
'm_wr_addr_o',
'm_wr_cti_o',
'm_wr_stb_o',
'm_wr_cyc_o',
'm_wr_we_o',
'm_wr_dat_i',
'm_wr_ack_i',
'irq'
],
'parameters_order' => [
'V',
'B',
'NX',
'NY',
'Fpay',
'TOPOLOGY',
'ROUTE_NAME',
'DEBUG_EN',
'COMB_MEM_PTR_W',
'COMB_PCK_SIZE_W',
'Dw',
'S_Aw',
'M_Aw',
'TAGw',
'SELw',
'Yw',
'Fw',
'Xw'
],
'gui_status' => {
'timeout' => 0,
'status' => 'ideal'
},
'ports' => {
'm_rd_cyc_o' => {
'intfc_port' => 'cyc_o',
640,41 → 676,5
'range' => '',
'type' => 'output'
}
},
'sockets' => {
'ni' => {
'connection_num' => 'single connection',
'0' => {
'name' => 'ni'
},
'value' => 1,
'type' => 'num',
'ni' => {}
}
},
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/ni/ni_sep.v',
'module_name' => 'ni_sep',
'unused' => {
'plug:wb_master[1]' => [
'tag_o',
'bte_o',
'dat_o',
'err_i',
'rty_i'
],
'plug:wb_slave[0]' => [
'err_o',
'rty_o',
'tag_i',
'bte_i'
],
'plug:wb_master[0]' => [
'tag_o',
'dat_i',
'bte_o',
'err_i',
'rty_i'
]
},
'category' => 'NoC'
}
}, 'ip_gen' );
/lib/mpsoc/lm32_noc.MPSOC
3,7 → 3,7
##
## Copyright (C) 2014-2016 Alireza Monemi
##
## This file is part of ProNoC 1.5.0
## This file is part of ProNoC 1.5.1
##
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
## MAY CAUSE UNEXPECTED BEHAIVOR.
10,6 → 10,10
################################################################################
 
$lm32_noc = bless( {
'class_param' => {
'Cn_1' => '2\'b11',
'Cn_0' => '2\'b11'
},
'socs' => {
'test' => {
'top' => bless( {
1706,13 → 1710,6
'range' => 'led_PORT_WIDTH-1 : 0',
'type' => 'output'
},
'ni_flit_out' => {
'intfc_port' => 'flit_out',
'intfc_name' => 'socket:ni[0]',
'instance_name' => 'ni0',
'range' => 'ni_Fw-1 : 0',
'type' => 'output'
},
'ni_current_y' => {
'intfc_port' => 'current_y',
'intfc_name' => 'socket:ni[0]',
1727,6 → 1724,13
'range' => '',
'type' => 'output'
},
'ni_flit_out' => {
'intfc_port' => 'flit_out',
'intfc_name' => 'socket:ni[0]',
'instance_name' => 'ni0',
'range' => 'ni_Fw-1 : 0',
'type' => 'output'
},
'ni_credit_out' => {
'intfc_port' => 'credit_out',
'intfc_name' => 'socket:ni[0]',
2538,7 → 2542,7
}
},
'setting' => {
'show_adv_setting' => 0,
'show_adv_setting' => 1,
'soc_path' => 'lib/soc',
'show_noc_setting' => 1,
'show_tile_setting' => 1
2557,6 → 2561,10
'timeout' => 0
},
'parameters_order' => {
'class_param' => [
'Cn_0',
'Cn_1'
],
'noc_param' => [
'NX',
'NY',
2587,10 → 2595,10
'DEBUG_EN' => '0',
'NX' => ' 2',
'VC_REALLOCATION_TYPE' => '"NONATOMIC"',
'V' => '2',
'V' => 2,
'ADD_PIPREG_AFTER_CROSSBAR' => '1\'b0',
'ROUTE_SUBFUNC' => '"XY"',
'ADD_PIPREG_AFTER_CROSSBAR' => '1\'b0',
'C' => 0,
'C' => 2,
'ROUTE_NAME' => '"XY"',
'Fpay' => '32',
'MUX_TYPE' => '"BINARY"',
/lib/perl/emulate_ram_gen.pl
5,7 → 5,7
require "widget.pl";
 
 
use constant SIM_RAM_GEN => 1;
use constant SIM_RAM_GEN => 0;
 
use constant JTAG_RAM_INDEX => 128;
use constant JTAG_DONE_RESET_INDEX => 127;
/lib/perl/mpsoc_gen.pl
181,7 → 181,7
my %param_value;
my $top=$mpsoc->mpsoc_get_soc($soc_name);
my @insts=$top->top_get_all_instances();
my @exceptions=('ni0');
my @exceptions=get_NI_instance_list($top);
@insts=get_diff_array(\@insts,\@exceptions);
foreach my $inst (@insts){
my @params=$top->top_get_parameter_list($inst);
221,8 → 221,8
my @instance_list=$top->top_get_all_instances();
#check if the soc has ni port
foreach my $instanc(@instance_list){
my $module=$top->top_get_def_of_instance($instanc,'module');
if($module eq 'ni')
my $category=$top->top_get_def_of_instance($instanc,'category');
if($category eq 'NoC')
{
my $name=$soc->object_get_attribute('soc_name');
$mpsoc->mpsoc_add_soc($name,$top);
251,6 → 251,20
 
 
}
 
 
sub get_NI_instance_list {
my $top=shift;
my @nis;
my @instance_list=$top->top_get_all_instances();
#check if the soc has ni port
foreach my $instanc(@instance_list){
my $category=$top->top_get_def_of_instance($instanc,'category');
push(@nis,$instanc) if($category eq 'NoC') ;
}
return @nis;
}
 
####################
# get_conflict_decision
###########################
419,7 → 433,7
my @insts=$top->top_get_all_instances();
my @exceptions=('ni0');
my @exceptions=get_NI_instance_list($top);
@insts=get_diff_array(\@insts,\@exceptions);
foreach my $inst (@insts){
my @params=$top->top_get_parameter_list($inst);
964,7 → 978,7
$type="Check-box";
$content=$v;
$info="Select the permitted VCs which the message class $i can be sent via them.";
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'noc_param',undef);
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'class_param',undef);
 
 
}
993,7 → 1007,7
$type="Check-box";
$content=1;
$default="1\'b0";
$info="If ebabled it adds a pipline register at the output port of the router.";
$info="If enabeled it adds a pipline register at the output port of the router.";
$row=noc_param_widget ($mpsoc,$label,$param, $default,$type,$content,$info, $table,$row,$adv_set,'noc_param');
1177,7 → 1191,9
#update NoC param
#my %nocparam = %{$mpsoc->object_get_attribute('noc_param',undef)};
my $nocparam =$mpsoc->object_get_attribute('noc_param',undef);
$soc->soc_add_instance_param('ni0' ,$nocparam );
my $top=$mpsoc->mpsoc_get_soc($soc_name);
my @nis=get_NI_instance_list($top);
$soc->soc_add_instance_param($nis[0] ,$nocparam );
#foreach my $p ( sort keys %nocparam ) {
# print "$p = $nocparam{$p} \n";
/lib/perl/mpsoc_verilog_gen.pl
179,6 → 179,11
my $class=$mpsoc->object_get_attribute('noc_param',"C");
my $str;
if( $class > 1){
for (my $i=0; $i<=$class-1; $i++){
my $n="Cn_$i";
my $val=$mpsoc->object_get_attribute('class_param',$n);
add_text_to_string (\$param_v,"\tlocalparam $n=$val;\n");
}
$str="CLASS_SETTING={";
for (my $i=$class-1; $i>=0;$i--){
$str=($i==0)? "${str}Cn_0};\n " : "${str}Cn_$i,";
438,8 → 443,9
# ni parameter
my $top=$mpsoc->mpsoc_get_soc($soc_name);
my @noc_param=$top->top_get_parameter_list('ni0');
my $inst_name=$top->top_get_def_of_instance('ni0','instance');
my @nis=get_NI_instance_list($top);
my @noc_param=$top->top_get_parameter_list($nis[0]);
my $inst_name=$top->top_get_def_of_instance($nis[0],'instance');
#other parameters
my %params=$top->top_get_default_soc_param();

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.