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/lib/ip/Other
    from Rev 39 to Rev 43
    Reverse comparison

Rev 39 → Rev 43

/gcd.IP
0,0 → 1,222
#######################################################################
## File: gcd.IP
##
## Copyright (C) 2014-2016 Alireza Monemi
##
## This file is part of ProNoC 1.8.0
##
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
## MAY CAUSE UNEXPECTED BEHAIVOR.
################################################################################
 
$ipgen = bless( {
'parameters' => {
'SELw' => {
'type' => 'Fixed',
'default' => '4',
'content' => '',
'global_param' => 'Localparam',
'info' => 'Parameter',
'redefine_param' => 1
},
'GCDw' => {
'global_param' => 'Parameter',
'default' => '32',
'type' => 'Combo-box',
'content' => '8,16,32',
'info' => 'GCD\'s Input/output width in bits',
'redefine_param' => 1
},
'TAGw' => {
'info' => 'Parameter',
'redefine_param' => 1,
'global_param' => 'Localparam',
'content' => '',
'type' => 'Fixed',
'default' => '3'
},
'Dw' => {
'default' => 'GCDw',
'type' => 'Fixed',
'content' => '',
'global_param' => 'Localparam',
'redefine_param' => 1,
'info' => 'Parameter'
},
'Aw' => {
'redefine_param' => 1,
'info' => 'Parameter',
'default' => '5',
'type' => 'Fixed',
'content' => '',
'global_param' => 'Localparam'
}
},
'ports' => {
's_tag_i' => {
'intfc_port' => 'tag_i',
'type' => 'input',
'range' => 'TAGw-1 : 0',
'intfc_name' => 'plug:wb_slave[0]'
},
's_stb_i' => {
'intfc_name' => 'plug:wb_slave[0]',
'range' => '',
'type' => 'input',
'intfc_port' => 'stb_i'
},
's_dat_i' => {
'intfc_port' => 'dat_i',
'intfc_name' => 'plug:wb_slave[0]',
'type' => 'input',
'range' => 'Dw-1 : 0'
},
's_cyc_i' => {
'intfc_port' => 'cyc_i',
'intfc_name' => 'plug:wb_slave[0]',
'type' => 'input',
'range' => ''
},
's_sel_i' => {
'intfc_port' => 'sel_i',
'intfc_name' => 'plug:wb_slave[0]',
'range' => 'SELw-1 : 0',
'type' => 'input'
},
's_rty_o' => {
'intfc_port' => 'rty_o',
'range' => '',
'type' => 'output',
'intfc_name' => 'plug:wb_slave[0]'
},
'reset' => {
'type' => 'input',
'range' => '',
'intfc_name' => 'plug:reset[0]',
'intfc_port' => 'reset_i'
},
's_addr_i' => {
'intfc_port' => 'adr_i',
'intfc_name' => 'plug:wb_slave[0]',
'type' => 'input',
'range' => 'Aw-1 : 0'
},
's_err_o' => {
'range' => '',
'type' => 'output',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'err_o'
},
's_ack_o' => {
'intfc_port' => 'ack_o',
'type' => 'output',
'range' => '',
'intfc_name' => 'plug:wb_slave[0]'
},
's_we_i' => {
'type' => 'input',
'range' => '',
'intfc_name' => 'plug:wb_slave[0]',
'intfc_port' => 'we_i'
},
'clk' => {
'intfc_port' => 'clk_i',
'intfc_name' => 'plug:clk[0]',
'range' => '',
'type' => 'input'
},
's_dat_o' => {
'intfc_port' => 'dat_o',
'intfc_name' => 'plug:wb_slave[0]',
'type' => 'output',
'range' => 'Dw-1 : 0'
}
},
'ip_name' => 'gcd',
'modules' => {
'gcd_ip' => {}
},
'file_name' => '/home/alireza/mywork/workshop/files/gcd_ip.v',
'category' => 'Other',
'version' => 3,
'parameters_order' => [
'GCDw',
'Dw',
'Aw',
'TAGw',
'SELw'
],
'plugs' => {
'clk' => {
'type' => 'num',
'0' => {
'name' => 'clk'
},
'value' => 1
},
'wb_slave' => {
'type' => 'num',
'value' => 1,
'0' => {
'width' => 5,
'addr' => '0xb800_0000 0xbfff_ffff custom devices',
'name' => 'wb_slave'
}
},
'reset' => {
'type' => 'num',
'value' => 1,
'0' => {
'name' => 'reset'
}
}
},
'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}_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}_READ();
}',
'gui_status' => {
'status' => 'ideal',
'timeout' => 0
},
'description' => 'gcd module',
'module_name' => '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'
],
'hdl_files' => [
'/workshop/files/gcd.v',
'/workshop/files/gcd_ip.v'
],
'unused' => {
'plug:wb_slave[0]' => [
'bte_i',
'cti_i'
]
}
}, 'ip_gen' );
gcd.IP Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: gcd.IP.back =================================================================== --- gcd.IP.back (nonexistent) +++ gcd.IP.back (revision 43) @@ -0,0 +1,224 @@ +####################################################################### +## 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' );
gcd.IP.back Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property

powered by: WebSVN 2.1.0

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