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.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' );

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.