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