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
[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [perl_gui/] [lib/] [ip/] [Other/] [gcd.IP.back] - Rev 43
Compare with Previous | Blame | View Log
#######################################################################
## File: gcd.IP
##
## Copyright (C) 2014-2016 Alireza Monemi
##
## This file is part of ProNoC 1.5.0
##
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
## MAY CAUSE UNEXPECTED BEHAIVOR.
################################################################################
$gcd_ip = bless( {
'hdl_files' => [
'/mpsoc/src_peripheral/Other/gcd.v',
'/mpsoc/src_peripheral/Other/gcd_ip.v'
],
'system_h' => ' #define ${IP}_DONE_ADDR (*((volatile unsigned int *) ($BASE )))
#define ${IP}_IN_1_ADDR (*((volatile unsigned int *) ($BASE+4)))
#define ${IP}_IN_2_ADDR (*((volatile unsigned int *) ($BASE+8)))
#define ${IP}_GCD_ADDR (*((volatile unsigned int *) ($BASE+12)))
#define ${IP}_IN1_WRITE(value) ${IP}_IN_1_ADDR=value
#define ${IP}_IN2_WRITE(value) ${IP}_IN_2_ADDR=value
#define ${IP}_DONE_READ() ${IP}_DONE_ADDR
#define ${IP}_GCD_READ() ${IP}_GCD_ADDR
unsigned int gcd_hardware ( unsigned int p, unsigned int q ){
${IP}_IN1_WRITE(p) ;
${IP}_IN2_WRITE(q) ;
while (${IP}_DONE_READ()!=1);
return ${IP}_GCD_READ();
}',
'description' => 'Greatest Common Divisor hardware accelerator.',
'ip_name' => 'gcd',
'parameters' => {
'GCDw' => {
'info' => "GCD\x{2019}s Input/output width in bits",
'default' => '32',
'global_param' => 'Localparam',
'content' => '8,16,32',
'redefine_param' => 1,
'type' => 'Combo-box'
},
'Aw' => {
'info' => 'Parameter',
'default' => '2',
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
},
'TAGw' => {
'info' => 'Parameter',
'default' => '3',
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
},
'SELw' => {
'info' => 'Parameter',
'default' => '4',
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
},
'Dw' => {
'info' => 'Parameter',
'default' => 'GCDw',
'global_param' => 'Localparam',
'content' => '',
'redefine_param' => 1,
'type' => 'Fixed'
}
},
'gui_status' => {
'status' => 'ideal',
'timeout' => 0
},
'plugs' => {
'clk' => {
'clk' => {},
'value' => 1,
'0' => {
'name' => 'clk'
},
'type' => 'num'
},
'reset' => {
'reset' => {},
'value' => 1,
'0' => {
'name' => 'reset'
},
'type' => 'num'
},
'wb_slave' => {
'value' => 1,
'0' => {
'width' => 5,
'name' => 'wb_slave',
'addr' => '0xb800_0000 0xbfff_ffff custom devices'
},
'type' => 'num',
'wb_slave' => {}
}
},
'modules' => {
'gcd_ip' => {}
},
'ports_order' => [
'clk',
'reset',
's_dat_i',
's_sel_i',
's_addr_i',
's_tag_i',
's_stb_i',
's_cyc_i',
's_we_i',
's_dat_o',
's_ack_o',
's_err_o',
's_rty_o'
],
'parameters_order' => [
'GCDw',
'Dw',
'Aw',
'TAGw',
'SELw'
],
'ports' => {
's_sel_i' => {
'intfc_port' => 'sel_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => 'SELw-1 : 0',
'type' => 'input'
},
's_err_o' => {
'intfc_port' => 'err_o',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'output'
},
's_dat_i' => {
'intfc_port' => 'dat_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => 'Dw-1 : 0',
'type' => 'input'
},
's_cyc_i' => {
'intfc_port' => 'cyc_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'input'
},
's_ack_o' => {
'intfc_port' => 'ack_o',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'output'
},
's_we_i' => {
'intfc_port' => 'we_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'input'
},
's_stb_i' => {
'intfc_port' => 'stb_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'input'
},
's_tag_i' => {
'intfc_port' => 'tag_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => 'TAGw-1 : 0',
'type' => 'input'
},
'clk' => {
'intfc_port' => 'clk_i',
'intfc_name' => 'plug:clk[0]',
'range' => '',
'type' => 'input'
},
'reset' => {
'intfc_port' => 'reset_i',
'intfc_name' => 'plug:reset[0]',
'range' => '',
'type' => 'input'
},
's_rty_o' => {
'intfc_port' => 'rty_o',
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'output'
},
's_addr_i' => {
'intfc_port' => 'adr_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => 'Aw-1 : 0',
'type' => 'input'
},
's_dat_o' => {
'intfc_port' => 'dat_o',
'intfc_name' => 'plug:wb_slave[0]',
'range' => 'Dw-1 : 0',
'type' => 'output'
}
},
'file_name' => '/home/alireza/Mywork/mpsoc_doc/usermanual/tutorial2/gcd_ip.v',
'module_name' => 'gcd_ip',
'category' => 'Other',
'unused' => {
'plug:wb_slave[0]' => [
'cti_i',
'bte_i'
]
}
}, 'ip_gen' );