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

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [perl_gui/] [lib/] [ip/] [Other/] [gcd.IP] - Rev 48

Compare with Previous | Blame | View Log

#######################################################################
##      File: gcd.IP
##    
##      Copyright (C) 2014-2019  Alireza Monemi
##    
##      This file is part of ProNoC 1.9.1 
##
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT 
##      MAY CAUSE UNEXPECTED BEHAVIOR.
################################################################################

$ipgen = bless( {
                  '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 );',
                  'system_c' => '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();
}',
                  'ports' => {
                               's_cyc_i' => {
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'intfc_port' => 'cyc_i',
                                              'type' => 'input',
                                              'range' => ''
                                            },
                               's_dat_o' => {
                                              'range' => 'Dw-1       :   0',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'intfc_port' => 'dat_o',
                                              'type' => 'output'
                                            },
                               's_stb_i' => {
                                              'intfc_port' => 'stb_i',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'type' => 'input',
                                              'range' => ''
                                            },
                               's_dat_i' => {
                                              'range' => 'Dw-1       :   0',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'intfc_port' => 'dat_i',
                                              'type' => 'input'
                                            },
                               's_rty_o' => {
                                              'range' => '',
                                              'intfc_port' => 'rty_o',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'type' => 'output'
                                            },
                               'clk' => {
                                          'range' => '',
                                          'type' => 'input',
                                          'intfc_name' => 'plug:clk[0]',
                                          'intfc_port' => 'clk_i'
                                        },
                               's_sel_i' => {
                                              'type' => 'input',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'intfc_port' => 'sel_i',
                                              'range' => 'SELw-1     :   0'
                                            },
                               's_ack_o' => {
                                              'range' => '',
                                              'type' => 'output',
                                              'intfc_port' => 'ack_o',
                                              'intfc_name' => 'plug:wb_slave[0]'
                                            },
                               's_we_i' => {
                                             'range' => '',
                                             'intfc_port' => 'we_i',
                                             'intfc_name' => 'plug:wb_slave[0]',
                                             'type' => 'input'
                                           },
                               'reset' => {
                                            'range' => '',
                                            'type' => 'input',
                                            'intfc_name' => 'plug:reset[0]',
                                            'intfc_port' => 'reset_i'
                                          },
                               's_tag_i' => {
                                              'intfc_port' => 'tag_i',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'type' => 'input',
                                              'range' => 'TAGw-1     :   0'
                                            },
                               's_addr_i' => {
                                               'intfc_name' => 'plug:wb_slave[0]',
                                               'intfc_port' => 'adr_i',
                                               'type' => 'input',
                                               'range' => 'Aw-1       :   0'
                                             },
                               's_err_o' => {
                                              'type' => 'output',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'intfc_port' => 'err_o',
                                              'range' => ''
                                            }
                             },
                  'ip_name' => 'gcd',
                  'unused' => {
                                'plug:wb_slave[0]' => [
                                                        'cti_i',
                                                        'bte_i'
                                                      ]
                              },
                  'version' => 4,
                  'module_name' => 'gcd_ip',
                  'plugs' => {
                               'clk' => {
                                          'value' => 1,
                                          '0' => {
                                                   'name' => 'clk'
                                                 },
                                          'type' => 'num'
                                        },
                               'wb_slave' => {
                                               'value' => 1,
                                               'type' => 'num',
                                               '0' => {
                                                        'name' => 'wb_slave',
                                                        'width' => 5,
                                                        'addr' => '0xb800_0000  0xbfff_ffff             custom devices'
                                                      }
                                             },
                               'reset' => {
                                            'type' => 'num',
                                            '0' => {
                                                     'name' => 'reset'
                                                   },
                                            'value' => 1
                                          }
                             },
                  'file_name' => '/home/alireza/mywork/workshop/files/gcd_ip.v',
                  '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'
                                        ],
                  'hdl_files_ticked' => [],
                  'parameters' => {
                                    'Aw' => {
                                              'global_param' => 'Localparam',
                                              'default' => '5',
                                              'content' => '',
                                              'redefine_param' => 1,
                                              'type' => 'Fixed',
                                              'info' => 'Parameter'
                                            },
                                    'Dw' => {
                                              'info' => 'Parameter',
                                              'content' => '',
                                              'redefine_param' => 1,
                                              'type' => 'Fixed',
                                              'global_param' => 'Localparam',
                                              'default' => 'GCDw'
                                            },
                                    'GCDw' => {
                                                'info' => 'GCD\'s Input/output width in bits',
                                                'global_param' => 'Parameter',
                                                'default' => '32',
                                                'content' => '8,16,32',
                                                'redefine_param' => 1,
                                                'type' => 'Combo-box'
                                              },
                                    'SELw' => {
                                                'info' => 'Parameter',
                                                'global_param' => 'Localparam',
                                                'default' => '4',
                                                'redefine_param' => 1,
                                                'content' => '',
                                                'type' => 'Fixed'
                                              },
                                    'TAGw' => {
                                                'info' => 'Parameter',
                                                'type' => 'Fixed',
                                                'content' => '',
                                                'redefine_param' => 1,
                                                'default' => '3',
                                                'global_param' => 'Localparam'
                                              }
                                  },
                  'category' => 'Other',
                  'description' => 'gcd module',
                  'hdl_files' => [
                                   '/mpsoc/rtl/src_peripheral/Other/gcd_ip.v',
                                   '/mpsoc/rtl/src_peripheral/Other/gcd.v'
                                 ],
                  'modules' => {
                                 'gcd_ip' => {}
                               },
                  'gui_status' => {
                                    'status' => 'ideal',
                                    'timeout' => 0
                                  }
                }, 'ip_gen' );

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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