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(); |