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/] [GPIO/] [gpio.IP] - Rev 48

Compare with Previous | Blame | View Log

#######################################################################
##      File: gpio.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 BEHAIVOR.
################################################################################

$ipgen = bless( {
                  'file_name' => 'mpsoc/rtl/src_peripheral/gpio/gpio.v',
                  'module_name' => 'gpio',
                  'modules' => {
                                 'gpi' => {},
                                 'gpo' => {},
                                 'gpio' => {}
                               },
                  'parameters' => {
                                    'Aw' => {
                                              'global_param' => 'Localparam',
                                              'redefine_param' => 1,
                                              'content' => '',
                                              'type' => 'Fixed',
                                              'info' => undef,
                                              'default' => '2'
                                            },
                                    'PORT_WIDTH' => {
                                                      'default' => '1',
                                                      'type' => 'Spin-button',
                                                      'content' => '1,32,1',
                                                      'redefine_param' => 1,
                                                      'global_param' => 'Localparam',
                                                      'info' => undef
                                                    },
                                    'SELw' => {
                                                'info' => undef,
                                                'redefine_param' => 1,
                                                'global_param' => 'Localparam',
                                                'content' => '',
                                                'type' => 'Fixed',
                                                'default' => '4'
                                              },
                                    'Dw' => {
                                              'default' => 'PORT_WIDTH',
                                              'type' => 'Fixed',
                                              'content' => '',
                                              'global_param' => 'Localparam',
                                              'redefine_param' => 1,
                                              'info' => undef
                                            }
                                  },
                  'plugs' => {
                               'clk' => {
                                          '0' => {
                                                   'name' => 'clk'
                                                 },
                                          'clk' => {},
                                          'type' => 'num',
                                          'value' => 1
                                        },
                               'wb_slave' => {
                                               'wb_slave' => {},
                                               'value' => 1,
                                               '0' => {
                                                        'addr' => '0x9100_0000  0x91ff_ffff             General-Purpose I/O',
                                                        'name' => 'wb',
                                                        'width' => 5
                                                      },
                                               'type' => 'num'
                                             },
                               'reset' => {
                                            'reset' => {},
                                            'value' => 1,
                                            '0' => {
                                                     'name' => 'reset'
                                                   },
                                            'type' => 'num'
                                          }
                             },
                  'ip_name' => 'gpio',
                  'sockets' => {},
                  'hdl_files' => [
                                   '/mpsoc/rtl/src_peripheral/gpio/gpio.v'
                                 ],
                  'ports' => {
                               'sa_dat_o' => {
                                               'type' => 'output',
                                               'intfc_port' => 'dat_o',
                                               'range' => 'Dw-1       :   0',
                                               'intfc_name' => 'plug:wb_slave[0]'
                                             },
                               'sa_stb_i' => {
                                               'intfc_port' => 'stb_i',
                                               'type' => 'input',
                                               'intfc_name' => 'plug:wb_slave[0]',
                                               'range' => ''
                                             },
                               'sa_sel_i' => {
                                               'type' => 'input',
                                               'intfc_port' => 'sel_i',
                                               'range' => 'SELw-1     :   0',
                                               'intfc_name' => 'plug:wb_slave[0]'
                                             },
                               'sa_ack_o' => {
                                               'intfc_port' => 'ack_o',
                                               'type' => 'output',
                                               'intfc_name' => 'plug:wb_slave[0]',
                                               'range' => ''
                                             },
                               'sa_dat_i' => {
                                               'type' => 'input',
                                               'intfc_port' => 'dat_i',
                                               'range' => 'Dw-1       :   0',
                                               'intfc_name' => 'plug:wb_slave[0]'
                                             },
                               'sa_rty_o' => {
                                               'type' => 'output',
                                               'intfc_port' => 'rty_o',
                                               'range' => '',
                                               'intfc_name' => 'plug:wb_slave[0]'
                                             },
                               'sa_addr_i' => {
                                                'intfc_port' => 'adr_i',
                                                'type' => 'input',
                                                'intfc_name' => 'plug:wb_slave[0]',
                                                'range' => 'Aw-1       :   0'
                                              },
                               'sa_err_o' => {
                                               'range' => '',
                                               'intfc_name' => 'plug:wb_slave[0]',
                                               'type' => 'output',
                                               'intfc_port' => 'err_o'
                                             },
                               'sa_we_i' => {
                                              'intfc_port' => 'we_i',
                                              'type' => 'input',
                                              'intfc_name' => 'plug:wb_slave[0]',
                                              'range' => ''
                                            },
                               'reset' => {
                                            'intfc_port' => 'reset_i',
                                            'type' => 'input',
                                            'intfc_name' => 'plug:reset[0]',
                                            'range' => ''
                                          },
                               'port_io' => {
                                              'intfc_name' => 'IO',
                                              'range' => 'PORT_WIDTH-1     :   0',
                                              'intfc_port' => 'IO',
                                              'type' => 'inout'
                                            },
                               'clk' => {
                                          'type' => 'input',
                                          'intfc_port' => 'clk_i',
                                          'range' => '',
                                          'intfc_name' => 'plug:clk[0]'
                                        }
                             },
                  'system_h' => '#define ${IP}_DIR_REG   (*((volatile unsigned int *) ($BASE)))   
#define ${IP}_WRITE_REG  (*((volatile unsigned int *) ($BASE+4)))
#define ${IP}_READ_REG   (*((volatile unsigned int *) ($BASE+8)))
   
 #define ${IP}_DIR_SET(value)   ${IP}_DIR_REG=value       
#define ${IP}_WRITE(value)  ${IP}_WRITE _REG=value      
#define ${IP}_READ()     ${IP}_READ_REG ',
                  'version' => 2,
                  'unused' => {
                                'plug:wb_slave[0]' => [
                                                        'cyc_i',
                                                        'bte_i',
                                                        'tag_i',
                                                        'cti_i'
                                                      ]
                              },
                  'parameters_order' => [
                                          'PORT_WIDTH',
                                          'Dw',
                                          'Aw',
                                          'SELw',
                                          'Dw'
                                        ],
                  'description' => 'General purpose Wishbone bus-based input/output port',
                  'gui_status' => {
                                    'status' => 'ideal',
                                    'timeout' => 0
                                  },
                  'category' => 'GPIO'
                }, '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.