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/lib/ip/GPIO
- from Rev 34 to Rev 38
- ↔ Reverse comparison
Rev 34 → Rev 38
/gpi.IP
3,200 → 3,201
## |
## Copyright (C) 2014-2016 Alireza Monemi |
## |
## This file is part of ProNoC 1.6.0 |
## This file is part of ProNoC 1.8.0 |
## |
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT |
## MAY CAUSE UNEXPECTED BEHAIVOR. |
################################################################################ |
|
$gpi = bless( { |
'parameters_order' => [ |
'PORT_WIDTH', |
'Dw', |
'Aw', |
'TAGw', |
'SELw' |
], |
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/gpio/gpio.v', |
'ports' => { |
'sa_dat_o' => { |
'range' => 'Dw-1 : 0', |
'intfc_port' => 'dat_o', |
'type' => 'output', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_addr_i' => { |
'range' => 'Aw-1 : 0', |
'intfc_port' => 'adr_i', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]' |
$ipgen = bless( { |
'modules' => { |
'gpo' => {}, |
'gpi' => {}, |
'gpio' => {} |
}, |
'hdl_files' => [ |
'/mpsoc/src_peripheral/gpio/gpio.v' |
], |
'module_name' => 'gpi', |
'category' => 'GPIO', |
'sockets' => {}, |
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/gpio/gpio.v', |
'unused' => { |
'plug:wb_slave[0]' => [ |
'bte_i', |
'cti_i' |
] |
}, |
'gui_status' => { |
'status' => 'ideal', |
'timeout' => 0 |
}, |
'parameters_order' => [ |
'PORT_WIDTH', |
'Dw', |
'Aw', |
'TAGw', |
'SELw' |
], |
'parameters' => { |
'PORT_WIDTH' => { |
'default' => ' 1', |
'redefine_param' => 1, |
'content' => '1,32,1', |
'info' => 'Input port width ', |
'global_param' => 'Parameter', |
'type' => 'Spin-button' |
}, |
'Dw' => { |
'info' => undef, |
'global_param' => 'Localparam', |
'type' => 'Fixed', |
'default' => 'PORT_WIDTH', |
'redefine_param' => 1, |
'content' => '' |
}, |
'port_i' => { |
'intfc_name' => 'IO', |
'type' => 'input', |
'intfc_port' => 'IO', |
'range' => 'PORT_WIDTH-1 : 0' |
}, |
'sa_dat_i' => { |
'range' => 'Dw-1 : 0', |
'intfc_port' => 'dat_i', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_ack_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'output', |
'intfc_port' => 'ack_o', |
'range' => '' |
}, |
'sa_stb_i' => { |
'intfc_port' => 'stb_i', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'input' |
}, |
'sa_we_i' => { |
'TAGw' => { |
'global_param' => 'Localparam', |
'info' => undef, |
'type' => 'Fixed', |
'redefine_param' => 1, |
'default' => ' 3', |
'content' => '' |
}, |
'Aw' => { |
'redefine_param' => 1, |
'default' => ' 2', |
'content' => '', |
'global_param' => 'Localparam', |
'info' => undef, |
'type' => 'Fixed' |
}, |
'SELw' => { |
'type' => 'Fixed', |
'info' => undef, |
'global_param' => 'Localparam', |
'content' => '', |
'default' => ' 4', |
'redefine_param' => 1 |
} |
}, |
'description' => 'General purpose Wishbone bus-based input port', |
'version' => 2, |
'ports' => { |
'sa_dat_i' => { |
'range' => 'Dw-1 : 0', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'dat_i' |
}, |
'sa_addr_i' => { |
'intfc_port' => 'adr_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => 'Aw-1 : 0', |
'type' => 'input' |
}, |
'sa_tag_i' => { |
'range' => 'TAGw-1 : 0', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'tag_i' |
}, |
'sa_cyc_i' => { |
'type' => 'input', |
'range' => '', |
'intfc_port' => 'cyc_i', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'reset' => { |
'intfc_port' => 'reset_i', |
'intfc_name' => 'plug:reset[0]', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'intfc_port' => 'we_i' |
'range' => '' |
}, |
'sa_err_o' => { |
'type' => 'output', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'intfc_port' => 'err_o' |
}, |
'sa_sel_i' => { |
'sa_stb_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'stb_i', |
'range' => '', |
'type' => 'input' |
}, |
'sa_err_o' => { |
'range' => '', |
'type' => 'output', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'err_o' |
}, |
'sa_sel_i' => { |
'type' => 'input', |
'range' => 'SELw-1 : 0', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'sel_i' |
}, |
'sa_rty_o' => { |
'type' => 'output', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'rty_o' |
}, |
'port_i' => { |
'range' => 'PORT_WIDTH-1 : 0', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => 'SELw-1 : 0', |
'intfc_port' => 'sel_i' |
'intfc_port' => 'IO', |
'intfc_name' => 'IO' |
}, |
'clk' => { |
'intfc_name' => 'plug:clk[0]', |
'type' => 'input', |
'intfc_port' => 'clk_i', |
'range' => '' |
}, |
'sa_cyc_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'input', |
'intfc_port' => 'cyc_i', |
'range' => '' |
}, |
'sa_rty_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'output', |
'intfc_port' => 'rty_o', |
'range' => '' |
}, |
'reset' => { |
'sa_we_i' => { |
'intfc_port' => 'we_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'type' => 'input' |
}, |
'sa_dat_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'dat_o', |
'range' => 'Dw-1 : 0', |
'type' => 'output' |
}, |
'clk' => { |
'range' => '', |
'type' => 'input', |
'intfc_name' => 'plug:reset[0]', |
'range' => '', |
'intfc_port' => 'reset_i' |
'intfc_port' => 'clk_i', |
'intfc_name' => 'plug:clk[0]' |
}, |
'sa_tag_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'input', |
'intfc_port' => 'tag_i', |
'range' => 'TAGw-1 : 0' |
} |
}, |
'modules' => { |
'gpio' => {}, |
'gpo' => {}, |
'gpi' => {} |
'sa_ack_o' => { |
'intfc_port' => 'ack_o', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'output', |
'range' => '' |
} |
}, |
'ip_name' => 'gpi', |
'category' => 'GPIO', |
'sockets' => {}, |
'plugs' => { |
'wb_slave' => { |
'wb_slave' => {}, |
'type' => 'num', |
'value' => 1, |
'0' => { |
'width' => 5, |
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O', |
'name' => 'wb' |
} |
}, |
'reset' => { |
'plugs' => { |
'clk' => { |
'0' => { |
'name' => 'clk' |
}, |
'value' => 1, |
'type' => 'num', |
'reset' => {}, |
'0' => { |
'name' => 'reset' |
} |
'clk' => {} |
}, |
'clk' => { |
'value' => 1, |
'type' => 'num', |
'clk' => {}, |
'0' => { |
'name' => 'clk' |
} |
} |
}, |
'hdl_files' => [ |
'/mpsoc/src_peripheral/gpio/gpio.v' |
], |
'description' => 'General inout port', |
'system_h' => '#define ${IP}_READ_REG (*((volatile unsigned int *) ($BASE+8))) |
#define ${IP}_READ() ${IP}_READ_REG ', |
'parameters' => { |
'TAGw' => { |
'deafult' => ' 3', |
'redefine_param' => 1, |
'global_param' => 'Localparam', |
'type' => 'Fixed', |
'info' => undef, |
'content' => '' |
}, |
'Dw' => { |
'redefine_param' => 1, |
'deafult' => 'PORT_WIDTH', |
'global_param' => 'Localparam', |
'info' => undef, |
'type' => 'Fixed', |
'content' => '' |
'reset' => { |
'0' => { |
'name' => 'reset' |
}, |
'reset' => {}, |
'value' => 1, |
'type' => 'num' |
}, |
'SELw' => { |
'global_param' => 'Localparam', |
'deafult' => ' 4', |
'redefine_param' => 1, |
'content' => '', |
'type' => 'Fixed', |
'info' => undef |
}, |
'PORT_WIDTH' => { |
'info' => 'Input port width ', |
'type' => 'Spin-button', |
'content' => '1,32,1', |
'deafult' => ' 1', |
'redefine_param' => 1, |
'global_param' => 'Parameter' |
}, |
'Aw' => { |
'content' => '', |
'info' => undef, |
'type' => 'Fixed', |
'global_param' => 'Localparam', |
'deafult' => ' 2', |
'redefine_param' => 1 |
} |
}, |
'module_name' => 'gpi', |
'gui_status' => { |
'timeout' => 0, |
'status' => 'ideal' |
}, |
'unused' => { |
'plug:wb_slave[0]' => [ |
'cti_i', |
'bte_i' |
] |
} |
}, 'ip_gen' ); |
'wb_slave' => { |
'wb_slave' => {}, |
'type' => 'num', |
'0' => { |
'name' => 'wb', |
'width' => 5, |
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O' |
}, |
'value' => 1 |
} |
}, |
'ip_name' => 'gpi', |
'system_h' => '#define ${IP}_READ_REG (*((volatile unsigned int *) ($BASE+8))) |
#define ${IP}_READ() ${IP}_READ_REG ' |
}, 'ip_gen' ); |
/gpio.IP
3,164 → 3,144
## |
## Copyright (C) 2014-2016 Alireza Monemi |
## |
## This file is part of ProNoC 1.6.0 |
## This file is part of ProNoC 1.8.0 |
## |
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT |
## MAY CAUSE UNEXPECTED BEHAIVOR. |
################################################################################ |
|
$gpio = bless( { |
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/gpio/gpio.v', |
'module_name' => 'gpio', |
'modules' => { |
'gpo' => {}, |
'gpi' => {}, |
'gpio' => {} |
$ipgen = bless( { |
'module_name' => 'gpio', |
'category' => 'GPIO', |
'unused' => { |
'plug:wb_slave[0]' => [ |
'cyc_i', |
'bte_i', |
'tag_i', |
'cti_i' |
] |
}, |
'gui_status' => { |
'status' => 'ideal', |
'timeout' => 0 |
}, |
'sockets' => {}, |
'category' => 'GPIO', |
'ports' => { |
'sa_dat_o' => { |
'range' => 'Dw-1 : 0', |
'type' => 'output', |
'intfc_port' => 'dat_o', |
'intfc_name' => 'plug:wb_slave[0]' |
'hdl_files' => [ |
'/mpsoc/src_peripheral/gpio/gpio.v' |
], |
'ip_name' => 'gpio', |
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/gpio/gpio.v', |
'version' => 1, |
'modules' => { |
'gpo' => {}, |
'gpio' => {}, |
'gpi' => {} |
}, |
'parameters' => { |
'Dw' => { |
'content' => '', |
'info' => undef, |
'redefine_param' => 1, |
'type' => 'Fixed', |
'global_param' => 'Localparam', |
'default' => 'PORT_WIDTH' |
}, |
'sa_dat_i' => { |
'PORT_WIDTH' => { |
'redefine_param' => 1, |
'type' => 'Spin-button', |
'content' => '1,32,1', |
'info' => undef, |
'default' => '1', |
'global_param' => 'Parameter' |
}, |
'SELw' => { |
'default' => '4', |
'global_param' => 'Localparam', |
'type' => 'Fixed', |
'redefine_param' => 1, |
'info' => undef, |
'content' => '' |
}, |
'Aw' => { |
'type' => 'Fixed', |
'redefine_param' => 1, |
'info' => undef, |
'content' => '', |
'global_param' => 'Localparam', |
'default' => '2' |
} |
}, |
'description' => 'General purpose Wishbone bus-based input/output port', |
'ports' => { |
'sa_addr_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'adr_i', |
'range' => 'Aw-1 : 0', |
'type' => 'input' |
}, |
'sa_we_i' => { |
'intfc_port' => 'we_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => 'Dw-1 : 0', |
'type' => 'input', |
'intfc_port' => 'dat_i' |
}, |
'sa_ack_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'type' => 'output', |
'intfc_port' => 'ack_o' |
}, |
'sa_sel_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'input', |
'range' => 'SELw-1 : 0', |
'intfc_port' => 'sel_i' |
}, |
'clk' => { |
'intfc_name' => 'plug:clk[0]', |
'intfc_port' => 'clk_i', |
'range' => '', |
'type' => 'input' |
}, |
'sa_rty_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'rty_o', |
'type' => 'output', |
'range' => '' |
}, |
'reset' => { |
'intfc_name' => 'plug:reset[0]', |
'range' => '', |
'type' => 'input', |
'intfc_port' => 'reset_i' |
}, |
'sa_stb_i' => { |
'intfc_port' => 'stb_i', |
'type' => 'input', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]' |
'reset' => { |
'range' => '', |
'type' => 'input', |
'intfc_port' => 'reset_i', |
'intfc_name' => 'plug:reset[0]' |
}, |
'port_io' => { |
'type' => 'inout', |
'range' => 'PORT_WIDTH-1 : 0', |
'intfc_port' => 'IO', |
'intfc_name' => 'IO' |
}, |
'port_io' => { |
'intfc_port' => 'IO', |
'type' => 'inout', |
'range' => 'PORT_WIDTH-1 : 0', |
'intfc_name' => 'IO' |
}, |
'sa_addr_i' => { |
'intfc_port' => 'adr_i', |
'sa_dat_o' => { |
'range' => 'Dw-1 : 0', |
'type' => 'output', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'dat_o' |
}, |
'sa_dat_i' => { |
'type' => 'input', |
'range' => 'Aw-1 : 0', |
'range' => 'Dw-1 : 0', |
'intfc_port' => 'dat_i', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_err_o' => { |
'type' => 'output', |
'range' => '', |
'intfc_port' => 'err_o', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_we_i' => { |
'intfc_port' => 'we_i', |
'type' => 'input', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]' |
} |
}, |
'plugs' => { |
'reset' => { |
'type' => 'num', |
'value' => 1, |
'reset' => {}, |
'0' => { |
'name' => 'reset' |
} |
}, |
'wb_slave' => { |
'value' => 1, |
'type' => 'num', |
'0' => { |
'width' => 5, |
'name' => 'wb', |
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O' |
}, |
'wb_slave' => {} |
}, |
'clk' => { |
'type' => 'num', |
'clk' => {}, |
'value' => 1, |
'0' => { |
'name' => 'clk' |
} |
} |
}, |
'description' => 'General inout port', |
'parameters' => { |
'Dw' => { |
'global_param' => 'Localparam', |
'info' => undef, |
'content' => '', |
'deafult' => 'PORT_WIDTH', |
'type' => 'Fixed', |
'redefine_param' => 1 |
}, |
'SELw' => { |
'global_param' => 'Localparam', |
'info' => undef, |
'deafult' => '4', |
'content' => '', |
'redefine_param' => 1, |
'type' => 'Fixed' |
'sa_ack_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'ack_o', |
'range' => '', |
'type' => 'output' |
}, |
'PORT_WIDTH' => { |
'info' => undef, |
'global_param' => 'Parameter', |
'redefine_param' => 1, |
'type' => 'Spin-button', |
'content' => '1,32,1', |
'deafult' => '1' |
}, |
'Aw' => { |
'deafult' => '2', |
'content' => '', |
'type' => 'Fixed', |
'redefine_param' => 1, |
'info' => undef, |
'global_param' => 'Localparam' |
} |
}, |
'system_h' => '#define ${IP}_DIR_REG (*((volatile unsigned int *) ($BASE))) |
'sa_err_o' => { |
'intfc_port' => 'err_o', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'output', |
'range' => '' |
}, |
'sa_stb_i' => { |
'range' => '', |
'type' => 'input', |
'intfc_port' => 'stb_i', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_sel_i' => { |
'range' => 'SELw-1 : 0', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'sel_i' |
}, |
'clk' => { |
'intfc_port' => 'clk_i', |
'intfc_name' => 'plug:clk[0]', |
'type' => 'input', |
'range' => '' |
}, |
'sa_rty_o' => { |
'intfc_port' => 'rty_o', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'type' => 'output' |
} |
}, |
'system_h' => '#define ${IP}_DIR_REG (*((volatile unsigned int *) ($BASE))) |
#define ${IP}_WRITE_REG (*((volatile unsigned int *) ($BASE+4))) |
#define ${IP}_READ_REG (*((volatile unsigned int *) ($BASE+8))) |
|
167,23 → 147,44
#define ${IP}_DIR_SET(value) ${IP}_DIR_REG=value |
#define ${IP}_WRITE(value) ${IP}_WRITE _REG=value |
#define ${IP}_READ() ${IP}_READ_REG ', |
'hdl_files' => [ |
'/mpsoc/src_peripheral/gpio/gpio.v' |
], |
'ip_name' => 'gpio', |
'unused' => { |
'plug:wb_slave[0]' => [ |
'tag_i', |
'cyc_i', |
'bte_i', |
'cti_i' |
] |
'sockets' => {}, |
'parameters_order' => [ |
'PORT_WIDTH', |
'Dw', |
'Aw', |
'SELw', |
'Dw' |
], |
'plugs' => { |
'clk' => { |
'type' => 'num', |
'value' => 1, |
'0' => { |
'name' => 'clk' |
}, |
'clk' => {} |
}, |
'reset' => { |
'type' => 'num', |
'reset' => {}, |
'value' => 1, |
'0' => { |
'name' => 'reset' |
} |
}, |
'wb_slave' => { |
'0' => { |
'width' => 5, |
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O', |
'name' => 'wb' |
}, |
'type' => 'num', |
'value' => 1, |
'wb_slave' => {} |
} |
}, |
'parameters_order' => [ |
'PORT_WIDTH', |
'Dw', |
'Aw', |
'SELw', |
'Dw' |
] |
}, 'ip_gen' ); |
'gui_status' => { |
'status' => 'ideal', |
'timeout' => 0 |
} |
}, 'ip_gen' ); |
/gpo.IP
3,203 → 3,203
## |
## Copyright (C) 2014-2016 Alireza Monemi |
## |
## This file is part of ProNoC 1.6.0 |
## This file is part of ProNoC 1.8.0 |
## |
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT |
## MAY CAUSE UNEXPECTED BEHAIVOR. |
################################################################################ |
|
$gpo = bless( { |
'version' => 1, |
'description' => 'General output port', |
'hdl_files' => [ |
'/mpsoc/src_peripheral/gpio/gpio.v' |
], |
'parameters' => { |
'SELw' => { |
$ipgen = bless( { |
'unused' => { |
'plug:wb_slave[0]' => [ |
'bte_i', |
'cti_i' |
] |
}, |
'parameters_order' => [ |
'PORT_WIDTH', |
'Aw', |
'TAGw', |
'SELw', |
'Dw' |
], |
'module_name' => 'gpo', |
'system_h' => '#define ${IP}_WRITE_REG (*((volatile unsigned int *) ($BASE+4))) |
#define ${IP}_WRITE(value) ${IP}_WRITE_REG=value |
|
', |
'sockets' => {}, |
'category' => 'GPIO', |
'version' => 2, |
'modules' => { |
'gpo' => {}, |
'gpi' => {}, |
'gpio' => {} |
}, |
'plugs' => { |
'clk' => { |
'type' => 'num', |
'clk' => {}, |
'value' => 1, |
'0' => { |
'name' => 'clk' |
} |
}, |
'reset' => { |
'reset' => {}, |
'0' => { |
'name' => 'reset' |
}, |
'value' => 1, |
'type' => 'num' |
}, |
'wb_slave' => { |
'type' => 'num', |
'value' => 1, |
'wb_slave' => {}, |
'0' => { |
'name' => 'wb', |
'width' => 5, |
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O' |
} |
} |
}, |
'hdl_files' => [ |
'/mpsoc/src_peripheral/gpio/gpio.v' |
], |
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/gpio/gpio.v', |
'ports' => { |
'sa_sel_i' => { |
'type' => 'input', |
'intfc_port' => 'sel_i', |
'range' => 'SELw-1 : 0', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_cyc_i' => { |
'type' => 'input', |
'intfc_port' => 'cyc_i', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'port_o' => { |
'intfc_name' => 'IO', |
'intfc_port' => 'IO', |
'range' => 'PORT_WIDTH-1 : 0', |
'type' => 'output' |
}, |
'sa_ack_o' => { |
'type' => 'output', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'ack_o', |
'range' => '' |
}, |
'sa_err_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'err_o', |
'range' => '', |
'type' => 'output' |
}, |
'sa_we_i' => { |
'type' => 'input', |
'intfc_port' => 'we_i', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_stb_i' => { |
'range' => '', |
'intfc_port' => 'stb_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'input' |
}, |
'clk' => { |
'intfc_name' => 'plug:clk[0]', |
'intfc_port' => 'clk_i', |
'range' => '', |
'type' => 'input' |
}, |
'sa_tag_i' => { |
'type' => 'input', |
'range' => 'TAGw-1 : 0', |
'intfc_port' => 'tag_i', |
'intfc_name' => 'plug:wb_slave[0]' |
}, |
'sa_rty_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'rty_o', |
'range' => '', |
'type' => 'output' |
}, |
'sa_dat_o' => { |
'range' => 'Dw-1 : 0', |
'intfc_port' => 'dat_o', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'output' |
}, |
'sa_dat_i' => { |
'intfc_port' => 'dat_i', |
'range' => 'Dw-1 : 0', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'input' |
}, |
'sa_addr_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'adr_i', |
'range' => 'Aw-1 : 0', |
'type' => 'input' |
}, |
'reset' => { |
'intfc_port' => 'reset_i', |
'range' => '', |
'intfc_name' => 'plug:reset[0]', |
'type' => 'input' |
} |
}, |
'gui_status' => { |
'status' => 'ideal', |
'timeout' => 0 |
}, |
'ip_name' => 'gpo', |
'parameters' => { |
'Dw' => { |
'content' => '', |
'type' => 'Fixed', |
'default' => 'PORT_WIDTH', |
'global_param' => 'Localparam', |
'info' => undef, |
'redefine_param' => 1 |
}, |
'PORT_WIDTH' => { |
'type' => 'Spin-button', |
'content' => '1,32,1', |
'global_param' => 'Parameter', |
'default' => ' 1', |
'redefine_param' => 1, |
'info' => 'output port width' |
}, |
'SELw' => { |
'type' => 'Fixed', |
'content' => '', |
'global_param' => 'Localparam', |
'default' => ' 4', |
'info' => undef, |
'redefine_param' => 1 |
}, |
'Aw' => { |
'redefine_param' => 1, |
'deafult' => ' 4', |
'content' => '' |
}, |
'Aw' => { |
'type' => 'Fixed', |
'global_param' => 'Localparam', |
'deafult' => ' 2', |
'content' => '', |
'info' => undef, |
'redefine_param' => 1 |
}, |
'Dw' => { |
'global_param' => 'Localparam', |
'type' => 'Fixed', |
'content' => '', |
'deafult' => 'PORT_WIDTH', |
'redefine_param' => 1, |
'info' => undef |
}, |
'TAGw' => { |
'info' => undef, |
'redefine_param' => 1, |
'deafult' => ' 3', |
'content' => '', |
'global_param' => 'Localparam', |
'type' => 'Fixed' |
'type' => 'Fixed', |
'default' => ' 2', |
'global_param' => 'Localparam' |
}, |
'PORT_WIDTH' => { |
'deafult' => ' 1', |
'content' => '1,32,1', |
'info' => 'output port width', |
'redefine_param' => 1, |
'type' => 'Spin-button', |
'global_param' => 'Parameter' |
} |
}, |
'unused' => { |
'plug:wb_slave[0]' => [ |
'bte_i', |
'cti_i' |
] |
}, |
'modules' => { |
'gpo' => {}, |
'gpi' => {}, |
'gpio' => {} |
}, |
'ports' => { |
'sa_tag_i' => { |
'intfc_port' => 'tag_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => 'TAGw-1 : 0', |
'type' => 'input' |
}, |
'reset' => { |
'type' => 'input', |
'intfc_name' => 'plug:reset[0]', |
'range' => '', |
'intfc_port' => 'reset_i' |
}, |
'sa_ack_o' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'type' => 'output', |
'intfc_port' => 'ack_o' |
}, |
'sa_stb_i' => { |
'intfc_port' => 'stb_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'type' => 'input' |
}, |
'sa_sel_i' => { |
'type' => 'input', |
'range' => 'SELw-1 : 0', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'sel_i' |
}, |
'clk' => { |
'intfc_port' => 'clk_i', |
'type' => 'input', |
'range' => '', |
'intfc_name' => 'plug:clk[0]' |
}, |
'sa_cyc_i' => { |
'intfc_port' => 'cyc_i', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '' |
}, |
'sa_dat_i' => { |
'intfc_port' => 'dat_i', |
'type' => 'input', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => 'Dw-1 : 0' |
}, |
'port_o' => { |
'intfc_port' => 'IO', |
'type' => 'output', |
'intfc_name' => 'IO', |
'range' => 'PORT_WIDTH-1 : 0' |
}, |
'sa_addr_i' => { |
'intfc_port' => 'adr_i', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => 'Aw-1 : 0', |
'type' => 'input' |
}, |
'sa_we_i' => { |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'type' => 'input', |
'intfc_port' => 'we_i' |
}, |
'sa_dat_o' => { |
'range' => 'Dw-1 : 0', |
'intfc_name' => 'plug:wb_slave[0]', |
'type' => 'output', |
'intfc_port' => 'dat_o' |
}, |
'sa_rty_o' => { |
'type' => 'output', |
'intfc_name' => 'plug:wb_slave[0]', |
'range' => '', |
'intfc_port' => 'rty_o' |
}, |
'sa_err_o' => { |
'type' => 'output', |
'range' => '', |
'intfc_name' => 'plug:wb_slave[0]', |
'intfc_port' => 'err_o' |
} |
}, |
'gui_status' => { |
'status' => 'ideal', |
'timeout' => 0 |
}, |
'category' => 'GPIO', |
'ip_name' => 'gpo', |
'system_h' => '#define ${IP}_WRITE_REG (*((volatile unsigned int *) ($BASE+4))) |
#define ${IP}_WRITE(value) ${IP}_WRITE_REG=value |
|
', |
'parameters_order' => [ |
'PORT_WIDTH', |
'Aw', |
'TAGw', |
'SELw', |
'Dw' |
], |
'plugs' => { |
'reset' => { |
'reset' => {}, |
'type' => 'num', |
'0' => { |
'name' => 'reset' |
}, |
'value' => 1 |
}, |
'wb_slave' => { |
'value' => 1, |
'wb_slave' => {}, |
'0' => { |
'width' => 5, |
'name' => 'wb', |
'addr' => '0x9100_0000 0x91ff_ffff General-Purpose I/O' |
}, |
'type' => 'num' |
}, |
'clk' => { |
'value' => 1, |
'clk' => {}, |
'0' => { |
'name' => 'clk' |
}, |
'type' => 'num' |
} |
}, |
'sockets' => {}, |
'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/gpio/gpio.v', |
'module_name' => 'gpo' |
}, 'ip_gen' ); |
'TAGw' => { |
'content' => '', |
'type' => 'Fixed', |
'default' => ' 3', |
'global_param' => 'Localparam', |
'redefine_param' => 1, |
'info' => undef |
} |
}, |
'description' => 'General purpose Wishbone bus-based output port' |
}, 'ip_gen' ); |