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/] [Processor/] [aeMB.IP] - Diff between revs 38 and 48

Show entire file | Details | Blame | View Log

Rev 38 Rev 48
Line 1... Line 1...
#######################################################################
#######################################################################
##      File: aeMB.IP
##      File: aeMB.IP
##
##
##      Copyright (C) 2014-2016  Alireza Monemi
##      Copyright (C) 2014-2019  Alireza Monemi
##
##
##      This file is part of ProNoC 1.7.0
##      This file is part of ProNoC 1.9.1
##
##
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
##      MAY CAUSE UNEXPECTED BEHAIVOR.
##      MAY CAUSE UNEXPECTED BEHAVIOR.
################################################################################
################################################################################
 
 
$ipgen = bless( {
$ipgen = bless( {
                  'unused' => undef,
                  'plugs' => {
 
                               'enable' => {
 
                                             'value' => 1,
 
                                             '0' => {
 
                                                      'name' => 'enable'
 
                                                    },
 
                                             'enable' => {},
 
                                             'type' => 'num'
 
                                           },
 
                               'wb_master' => {
 
                                                'wb_master' => {},
 
                                                'value' => 2,
 
                                                'type' => 'num',
 
                                                '0' => {
 
                                                         'name' => 'iwb'
 
                                                       },
 
                                                '1' => {
 
                                                         'name' => 'dwb'
 
                                                       }
 
                                              },
 
                               'clk' => {
 
                                          'clk' => {},
 
                                          '0' => {
 
                                                   'name' => 'clk'
 
                                                 },
 
                                          'type' => 'num',
 
                                          'value' => 1
 
                                        },
 
                               'reset' => {
 
                                            'reset' => {},
 
                                            'value' => 1,
 
                                            'type' => 'num',
 
                                            '0' => {
 
                                                     'name' => 'reset'
 
                                                   }
 
                                          }
 
                             },
 
                  'sockets' => {
 
                                 'interrupt_cpu' => {
 
                                                      'type' => 'num',
 
                                                      '0' => {
 
                                                               'name' => 'interrupt_cpu'
 
                                                             },
 
                                                      'connection_num' => 'single connection',
 
                                                      'value' => 1
 
                                                    }
 
                               },
 
                  'gen_sw_files_ticked' => [],
 
                  'system_h' => '
 
#include "aemb/core.hh"
 
 
 
static inline void nop (void) {
 
                asm volatile ("nop");
 
}
 
 
 
void general_int_main( void ) __attribute__ ((interrupt_handler)); // general_int_main() is defined by interrupt controller
 
void aemb_enable_interrupt (void);
 
void exit (int);
 
 
 
#define general_cpu_int_en   aemb_enable_interrupt
 
 
 
',
                  'parameters' => {
                  'parameters' => {
                                    'AEMB_DWB' => {
                                    'AEMB_BSF' => {
                                                    'redefine_param' => 1,
 
                                                    'info' => undef,
 
                                                    'default' => ' 32',
 
                                                    'content' => '',
                                                    'content' => '',
                                                    'global_param' => 'Localparam',
                                                    'global_param' => 'Localparam',
                                                    'type' => 'Fixed'
                                                    'type' => 'Fixed',
 
                                                    'info' => undef,
 
                                                    'redefine_param' => 1,
 
                                                    'default' => ' 1'
                                                  },
                                                  },
                                    'AEMB_BSF' => {
                                    'AEMB_ICH' => {
                                                    'default' => ' 1',
                                                    'global_param' => 'Localparam',
                                                    'content' => '',
                                                    'content' => '',
 
                                                    'default' => ' 11',
                                                    'redefine_param' => 1,
                                                    'redefine_param' => 1,
                                                    'info' => undef,
                                                    'info' => undef,
                                                    'global_param' => 'Localparam',
 
                                                    'type' => 'Fixed'
                                                    'type' => 'Fixed'
                                                  },
                                                  },
                                    'AEMB_IWB' => {
                                    'AEMB_IDX' => {
                                                    'global_param' => 'Localparam',
 
                                                    'type' => 'Fixed',
                                                    'type' => 'Fixed',
                                                    'content' => '',
                                                    'info' => undef,
                                                    'default' => ' 32',
 
                                                    'redefine_param' => 1,
                                                    'redefine_param' => 1,
                                                    'info' => undef
                                                    'default' => ' 6',
                                                  },
 
                                    'AEMB_XWB' => {
 
                                                    'type' => 'Fixed',
 
                                                    'global_param' => 'Localparam',
 
                                                    'content' => '',
                                                    'content' => '',
                                                    'default' => ' 7',
                                                    'global_param' => 'Localparam'
                                                    'info' => undef,
 
                                                    'redefine_param' => 1
 
                                                  },
                                                  },
                                    'HEAP_SIZE' => {
                                    'AEMB_IWB' => {
                                                     'info' => undef,
                                                     'info' => undef,
                                                     'redefine_param' => 0,
                                                    'type' => 'Fixed',
 
                                                    'redefine_param' => 1,
 
                                                    'default' => ' 32',
                                                     'content' => '',
                                                     'content' => '',
                                                     'default' => '0x400',
                                                    'global_param' => 'Localparam'
                                                     'type' => 'Entry',
 
                                                     'global_param' => 'Don\'t include'
 
                                                   },
                                                   },
                                    'AEMB_MUL' => {
                                    'AEMB_DWB' => {
                                                    'default' => ' 1',
                                                    'global_param' => 'Localparam',
                                                    'content' => '',
                                                    'content' => '',
                                                    'info' => undef,
                                                    'default' => ' 32',
                                                    'redefine_param' => 1,
                                                    'redefine_param' => 1,
                                                    'type' => 'Fixed',
                                                    'type' => 'Fixed',
                                                    'global_param' => 'Localparam'
                                                    'info' => undef
                                                  },
                                                  },
                                    'AEMB_IDX' => {
                                    'AEMB_MUL' => {
                                                    'info' => undef,
 
                                                    'redefine_param' => 1,
 
                                                    'default' => ' 6',
 
                                                    'content' => '',
                                                    'content' => '',
 
                                                    'global_param' => 'Localparam',
                                                    'type' => 'Fixed',
                                                    'type' => 'Fixed',
                                                    'global_param' => 'Localparam'
                                                    'info' => undef,
 
                                                    'default' => ' 1',
 
                                                    'redefine_param' => 1
                                                  },
                                                  },
                                    'AEMB_ICH' => {
                                    'STACK_SIZE' => {
 
                                                      'content' => '',
 
                                                      'global_param' => 'Don\'t include',
 
                                                      'type' => 'Entry',
 
                                                      'info' => 'The stack size in hex',
 
                                                      'redefine_param' => 0,
 
                                                      'default' => '0x400'
 
                                                    },
 
                                    'AEMB_XWB' => {
                                                    'global_param' => 'Localparam',
                                                    'global_param' => 'Localparam',
                                                    'type' => 'Fixed',
 
                                                    'content' => '',
                                                    'content' => '',
                                                    'default' => ' 11',
                                                    'default' => ' 7',
                                                    'redefine_param' => 1,
                                                    'redefine_param' => 1,
 
                                                    'type' => 'Fixed',
                                                    'info' => undef
                                                    'info' => undef
                                                  },
                                                  },
                                    'STACK_SIZE' => {
                                    'HEAP_SIZE' => {
                                                      'type' => 'Entry',
 
                                                      'global_param' => 'Don\'t include',
                                                      'global_param' => 'Don\'t include',
                                                      'default' => '0x400',
 
                                                      'content' => '',
                                                      'content' => '',
                                                      'info' => 'The stack size in hex',
                                                     'default' => '0x400',
                                                      'redefine_param' => 0
                                                     'redefine_param' => 0,
 
                                                     'type' => 'Entry',
 
                                                     'info' => undef
                                                    }
                                                    }
                                  },
                                  },
 
                  'description' => 'AEMB 32-bit Microprocessor Core
 
For more information check      http://opencores.org/project,aemb',
 
                  'ip_name' => 'aeMB',
 
                  'module_name' => 'aeMB_top',
 
                  'ports_order' => [
 
                                     'dwb_adr_o',
 
                                     'dwb_cyc_o',
 
                                     'dwb_dat_o',
 
                                     'dwb_sel_o',
 
                                     'dwb_stb_o',
 
                                     'dwb_tag_o',
 
                                     'dwb_wre_o',
 
                                     'dwb_cti_o',
 
                                     'dwb_bte_o',
 
                                     'dwb_ack_i',
 
                                     'dwb_dat_i',
 
                                     'dwb_err_i',
 
                                     'dwb_rty_i',
 
                                     'iwb_adr_o',
 
                                     'iwb_cyc_o',
 
                                     'iwb_sel_o',
 
                                     'iwb_stb_o',
 
                                     'iwb_tag_o',
 
                                     'iwb_wre_o',
 
                                     'iwb_dat_o',
 
                                     'iwb_cti_o',
 
                                     'iwb_bte_o',
 
                                     'iwb_ack_i',
 
                                     'iwb_dat_i',
 
                                     'iwb_err_i',
 
                                     'iwb_rty_i',
 
                                     'clk',
 
                                     'reset',
 
                                     'sys_int_i',
 
                                     'sys_ena_i'
 
                                   ],
 
                  'parameters_order' => [
 
                                          'AEMB_IWB',
 
                                          'AEMB_DWB',
 
                                          'AEMB_XWB',
 
                                          'AEMB_ICH',
 
                                          'AEMB_IDX',
 
                                          'AEMB_BSF',
 
                                          'AEMB_MUL',
 
                                          'STACK_SIZE',
 
                                          'HEAP_SIZE'
 
                                        ],
 
                  'file_name' => 'mpsoc/src_processor/aeMB/verilog/aemb.v',
 
                  'gui_status' => {
 
                                    'status' => 'ideal',
 
                                    'timeout' => 0
 
                                  },
 
                  'modules' => {
 
                                 'aeMB_top' => {}
 
                               },
                  'hdl_files' => [
                  'hdl_files' => [
                                   '/mpsoc/src_processor/aeMB/verilog/aemb.v',
                                   '/mpsoc/src_processor/aeMB/verilog/aemb.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB_core.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB_core.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB_xecu.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB_xecu.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB_sim.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB_sim.v',
Line 115... Line 231...
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_edk62.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_edk62.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_sim.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_sim.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_iche.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_iche.v',
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_iwbif.v'
                                   '/mpsoc/src_processor/aeMB/verilog/src/aeMB2_iwbif.v'
                                 ],
                                 ],
                  'file_name' => '/home/alireza/Mywork/mpsoc/src_processor/aeMB/verilog/aemb.v',
 
                  'module_name' => 'aeMB_top',
 
                  'sockets' => {
 
                                 'interrupt_cpu' => {
 
                                                      'connection_num' => 'single connection',
 
                                                      'type' => 'num',
 
                                                      '0' => {
 
                                                               'name' => 'interrupt_cpu'
 
                                                             },
 
                                                      'value' => 1
 
                                                    }
 
                               },
 
                  'version' => 2,
 
                  'description' => 'AEMB 32-bit Microprocessor Core
 
For more information check      http://opencores.org/project,aemb',
 
                  'gen_sw_files' => [
                  'gen_sw_files' => [
                                      '/mpsoc/src_processor/aeMB/sw/compile/gccromfrename_sep_tcompile/gccrom',
                                      '/mpsoc/src_processor/aeMB/sw/link.ldfrename_sep_tlink.ld'
                                      '/mpsoc/src_processor/aeMB/sw/Makefilefrename_sep_tMakefile'
 
                                    ],
                                    ],
                  'plugs' => {
                  'sw_files' => [
                               'enable' => {
                                  '/mpsoc/src_processor/aeMB/sw/aemb',
                                             'type' => 'num',
                                  '/mpsoc/src_processor/aeMB/sw/aemb.specs',
                                             '0' => {
                                  '/mpsoc/src_processor/aeMB/sw/Makefile'
                                                      'name' => 'enable'
                                ],
                                                    },
                  'unused' => undef,
                                             'value' => 1,
                  'category' => 'Processor',
                                             'enable' => {}
                  'version' => 10,
 
                  'ports' => {
 
                               'dwb_wre_o' => {
 
                                                'type' => 'output',
 
                                                'intfc_port' => 'we_o',
 
                                                'intfc_name' => 'plug:wb_master[1]',
 
                                                'range' => ''
                                           },
                                           },
                               'clk' => {
                               'dwb_ack_i' => {
                                          'clk' => {},
                                                'range' => '',
                                          'value' => 1,
                                                'intfc_name' => 'plug:wb_master[1]',
                                          '0' => {
                                                'type' => 'input',
                                                   'name' => 'clk'
                                                'intfc_port' => 'ack_i'
                                                 },
                                                 },
                                          'type' => 'num'
                               'iwb_bte_o' => {
 
                                                'range' => '1:0',
 
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'type' => 'output',
 
                                                'intfc_port' => 'bte_o'
                                        },
                                        },
                               'wb_master' => {
                               'iwb_wre_o' => {
                                                'wb_master' => {},
                                                'range' => '',
                                                '1' => {
                                                'intfc_name' => 'plug:wb_master[0]',
                                                         'name' => 'dwb'
                                                'type' => 'output',
 
                                                'intfc_port' => 'we_o'
                                                       },
                                                       },
                                                'value' => 2,
                               'iwb_ack_i' => {
                                                'type' => 'num',
                                                'type' => 'input',
                                                '0' => {
                                                'intfc_port' => 'ack_i',
                                                         'name' => 'iwb'
                                                'range' => '',
                                                       }
                                                'intfc_name' => 'plug:wb_master[0]'
                                              },
                                              },
                               'reset' => {
                               'dwb_adr_o' => {
                                            'reset' => {},
                                                'range' => '31:0',
                                            '0' => {
                                                'intfc_name' => 'plug:wb_master[1]',
                                                     'name' => 'reset'
                                                'intfc_port' => 'adr_o',
 
                                                'type' => 'output'
                                                   },
                                                   },
                                            'type' => 'num',
                               'clk' => {
                                            'value' => 1
                                          'intfc_port' => 'clk_i',
                                          }
                                          'type' => 'input',
 
                                          'intfc_name' => 'plug:clk[0]',
 
                                          'range' => ''
                             },
                             },
                  'ports' => {
 
                               'iwb_tag_o' => {
                               'iwb_tag_o' => {
                                                'type' => 'output',
 
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'intfc_port' => 'tag_o',
                                                'intfc_port' => 'tag_o',
                                                'range' => '2:0'
 
                                              },
 
                               'iwb_adr_o' => {
 
                                                'type' => 'output',
                                                'type' => 'output',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_port' => 'adr_o',
                                                'range' => '2:0'
                                                'range' => '31:0'
 
                                              },
                                              },
                               'clk' => {
                               'iwb_err_i' => {
                                          'range' => '',
                                          'range' => '',
                                          'intfc_port' => 'clk_i',
                                                'intfc_name' => 'plug:wb_master[0]',
                                          'type' => 'input',
                                          'type' => 'input',
                                          'intfc_name' => 'plug:clk[0]'
                                                'intfc_port' => 'err_i'
                                        },
                                        },
                               'dwb_rty_i' => {
                               'dwb_cti_o' => {
                                                'type' => 'input',
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_port' => 'rty_i',
                                                'range' => '2:0',
                                                'range' => ''
                                                'intfc_port' => 'cti_o',
 
                                                'type' => 'output'
                                              },
                                              },
                               'dwb_stb_o' => {
                               'dwb_cyc_o' => {
                                                'range' => '',
 
                                                'intfc_port' => 'stb_o',
 
                                                'type' => 'output',
                                                'type' => 'output',
 
                                                'intfc_port' => 'cyc_o',
 
                                                'range' => '',
                                                'intfc_name' => 'plug:wb_master[1]'
                                                'intfc_name' => 'plug:wb_master[1]'
                                              },
                                              },
                               'dwb_wre_o' => {
                               'dwb_err_i' => {
                                                'range' => '',
                                                'range' => '',
                                                'intfc_port' => 'we_o',
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'type' => 'output'
 
                                              },
 
                               'iwb_stb_o' => {
 
                                                'range' => '',
 
                                                'intfc_port' => 'stb_o',
 
                                                'type' => 'output',
 
                                                'intfc_name' => 'plug:wb_master[0]'
 
                                              },
 
                               'reset' => {
 
                                            'intfc_name' => 'plug:reset[0]',
 
                                            'type' => 'input',
                                            'type' => 'input',
                                            'intfc_port' => 'reset_i',
                                                'intfc_port' => 'err_i'
                                            'range' => ''
 
                                          },
                                          },
                               'dwb_bte_o' => {
                               'dwb_bte_o' => {
                                                'type' => 'output',
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_port' => 'bte_o',
                                                'range' => '1:0',
                                                'range' => '1:0'
                                                'type' => 'output',
 
                                                'intfc_port' => 'bte_o'
                                              },
                                              },
                               'dwb_dat_i' => {
                               'iwb_cti_o' => {
                                                'range' => '31:0',
                                                'intfc_port' => 'cti_o',
                                                'intfc_port' => 'dat_i',
                                                'type' => 'output',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'range' => '2:0',
                                                'type' => 'input'
                                                'intfc_name' => 'plug:wb_master[0]'
                                              },
                                              },
                               'dwb_dat_o' => {
                               'iwb_adr_o' => {
                                                'range' => '31:0',
 
                                                'intfc_port' => 'dat_o',
 
                                                'type' => 'output',
                                                'type' => 'output',
                                                'intfc_name' => 'plug:wb_master[1]'
                                                'intfc_port' => 'adr_o',
 
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'range' => '31:0'
                                              },
                                              },
                               'iwb_rty_i' => {
                               'sys_ena_i' => {
 
                                                'intfc_name' => 'plug:enable[0]',
                                                'range' => '',
                                                'range' => '',
                                                'intfc_port' => 'rty_i',
                                                'intfc_port' => 'enable_i',
                                                'type' => 'input',
                                                'type' => 'input'
                                                'intfc_name' => 'plug:wb_master[0]'
 
                                              },
                                              },
                               'iwb_cyc_o' => {
                               'iwb_cyc_o' => {
                                                'intfc_port' => 'cyc_o',
 
                                                'range' => '',
                                                'range' => '',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'intfc_port' => 'cyc_o',
                                                'type' => 'output'
                                                'type' => 'output'
                                              },
                                              },
                               'dwb_cyc_o' => {
                               'dwb_dat_o' => {
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
 
                                                'range' => '31:0',
                                                'type' => 'output',
                                                'type' => 'output',
                                                'range' => '',
                                                'intfc_port' => 'dat_o'
                                                'intfc_port' => 'cyc_o'
 
                                              },
 
                               'dwb_sel_o' => {
 
                                                'intfc_port' => 'sel_o',
 
                                                'range' => '3:0',
 
                                                'type' => 'output',
 
                                                'intfc_name' => 'plug:wb_master[1]'
 
                                              },
                                              },
                               'sys_int_i' => {
                               'dwb_stb_o' => {
                                                'intfc_port' => 'int_i',
 
                                                'range' => '',
                                                'range' => '',
                                                'type' => 'input',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'socket:interrupt_cpu[0]'
                                                'intfc_port' => 'stb_o',
 
                                                'type' => 'output'
                                              },
                                              },
                               'iwb_dat_i' => {
                               'iwb_rty_i' => {
                                                'intfc_port' => 'dat_i',
                                                'range' => '',
                                                'range' => '31:0',
 
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'intfc_port' => 'rty_i',
                                                'type' => 'input'
                                                'type' => 'input'
                                              },
                                              },
                               'dwb_err_i' => {
                               'iwb_stb_o' => {
                                                'intfc_port' => 'err_i',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'range' => '',
                                                'range' => '',
 
                                                'type' => 'output',
 
                                                'intfc_port' => 'stb_o'
 
                                              },
 
                               'dwb_dat_i' => {
 
                                                'range' => '31:0',
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'type' => 'input',
                                                'type' => 'input',
                                                'intfc_name' => 'plug:wb_master[1]'
                                                'intfc_port' => 'dat_i'
                                              },
                                              },
                               'iwb_sel_o' => {
                               'iwb_sel_o' => {
 
                                                'intfc_port' => 'sel_o',
                                                'type' => 'output',
                                                'type' => 'output',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_port' => 'sel_o',
 
                                                'range' => '3:0'
                                                'range' => '3:0'
                                              },
                                              },
                               'iwb_wre_o' => {
                               'dwb_sel_o' => {
                                                'intfc_port' => 'we_o',
                                                'intfc_port' => 'sel_o',
                                                'range' => '',
 
                                                'type' => 'output',
                                                'type' => 'output',
                                                'intfc_name' => 'plug:wb_master[0]'
 
                                              },
 
                               'dwb_adr_o' => {
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'type' => 'output',
                                                'range' => '3:0'
                                                'intfc_port' => 'adr_o',
 
                                                'range' => '31:0'
 
                                              },
                                              },
                               'iwb_cti_o' => {
                               'iwb_dat_o' => {
                                                'range' => '2:0',
                                                'range' => '31:0',
                                                'intfc_port' => 'cti_o',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'type' => 'output',
                                                'type' => 'output',
                                                'intfc_name' => 'plug:wb_master[0]'
                                                'intfc_port' => 'dat_o'
                                              },
                                              },
                               'iwb_err_i' => {
                               'sys_int_i' => {
                                                'intfc_port' => 'err_i',
                                                'type' => 'input',
 
                                                'intfc_port' => 'int_i',
                                                'range' => '',
                                                'range' => '',
                                                'intfc_name' => 'plug:wb_master[0]',
                                                'intfc_name' => 'socket:interrupt_cpu[0]'
                                                'type' => 'input'
 
                                              },
 
                               'dwb_tag_o' => {
 
                                                'type' => 'output',
 
                                                'intfc_name' => 'plug:wb_master[1]',
 
                                                'intfc_port' => 'tag_o',
 
                                                'range' => '2:0'
 
                                              },
                                              },
                               'sys_ena_i' => {
                               'iwb_dat_i' => {
                                                'intfc_name' => 'plug:enable[0]',
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'range' => '31:0',
                                                'type' => 'input',
                                                'type' => 'input',
                                                'intfc_port' => 'enable_i',
                                                'intfc_port' => 'dat_i'
                                                'range' => ''
 
                                              },
                                              },
                               'dwb_ack_i' => {
                               'dwb_rty_i' => {
                                                'range' => '',
                                                'range' => '',
                                                'intfc_port' => 'ack_i',
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'type' => 'input'
                                                'type' => 'input',
                                              },
                                                'intfc_port' => 'rty_i'
                               'iwb_bte_o' => {
 
                                                'range' => '1:0',
 
                                                'intfc_port' => 'bte_o',
 
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'type' => 'output'
 
                                              },
                                              },
                               'iwb_dat_o' => {
                               'reset' => {
                                                'intfc_name' => 'plug:wb_master[0]',
                                            'intfc_name' => 'plug:reset[0]',
                                                'type' => 'output',
                                            'range' => '',
                                                'intfc_port' => 'dat_o',
                                            'type' => 'input',
                                                'range' => '31:0'
                                            'intfc_port' => 'reset_i'
                                              },
                                              },
                               'dwb_cti_o' => {
                               'dwb_tag_o' => {
                                                'type' => 'output',
 
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'intfc_name' => 'plug:wb_master[1]',
                                                'range' => '2:0',
                                                'range' => '2:0',
                                                'intfc_port' => 'cti_o'
                                                'type' => 'output',
                                              },
                                                'intfc_port' => 'tag_o'
                               'iwb_ack_i' => {
 
                                                'intfc_name' => 'plug:wb_master[0]',
 
                                                'type' => 'input',
 
                                                'intfc_port' => 'ack_i',
 
                                                'range' => ''
 
                                              }
                                              }
                             },
                             },
                  'gui_status' => {
                  'system_c' => '
                                    'status' => 'ideal',
 #include "aemb/core.cc"
                                    'timeout' => 0
 
                                  },
 
                  'modules' => {
 
                                 'aeMB_top' => {}
 
                               },
 
                  'ip_name' => 'aeMB',
 
                  'system_h' => ' #include 
 
 #include 
 
 #include "aemb/core.hh"
 
 
 
        inline void nop (void) {
/*!
                asm volatile ("nop");
* Assembly macro to enable MSR_IE
        }',
*/
                  'ports_order' => [
void aemb_enable_interrupt ()
                                     'dwb_adr_o',
{
                                     'dwb_cyc_o',
  int msr, tmp;
                                     'dwb_dat_o',
  asm volatile ("mfs %0, rmsr;"
                                     'dwb_sel_o',
                "ori %1, %0, 0x02;"
                                     'dwb_stb_o',
                "mts rmsr, %1;"
                                     'dwb_tag_o',
                : "=r"(msr)
                                     'dwb_wre_o',
                : "r" (tmp)
                                     'dwb_cti_o',
                );
                                     'dwb_bte_o',
}
                                     'dwb_ack_i',
 
                                     'dwb_dat_i',
void aemb_disable_interrupt ()
                                     'dwb_err_i',
{
                                     'dwb_rty_i',
  int msr, tmp;
                                     'iwb_adr_o',
  asm volatile ("mfs %0, rmsr;"
                                     'iwb_cyc_o',
               "andi %1, %0, 0xFD;"
                                     'iwb_sel_o',
               "mts rmsr, %1;"
                                     'iwb_stb_o',
               : "=r"(msr)
                                     'iwb_tag_o',
               : "r" (tmp)
                                     'iwb_wre_o',
               );
                                     'iwb_dat_o',
}
                                     'iwb_cti_o',
 
                                     'iwb_bte_o',
 
                                     'iwb_ack_i',
/* Loops/exits simulation */
                                     'iwb_dat_i',
void exit (int i)
                                     'iwb_err_i',
{
                                     'iwb_rty_i',
  aemb_disable_interrupt ();
                                     'clk',
  while (1);
                                     'reset',
}
                                     'sys_int_i',
 
                                     'sys_ena_i'
 
                                   ],
 
                  'category' => 'Processor',
 
                  'sw_files' => [
'
                                  '/mpsoc/src_processor/aeMB/sw/aemb',
 
                                  '/mpsoc/src_processor/aeMB/sw/compile',
 
                                  '/mpsoc/src_processor/aeMB/sw/program',
 
                                  '/mpsoc/src_processor/program.sh',
 
                                  '/mpsoc/src_processor/aeMB/sw/define_printf.h'
 
                                ],
 
                  'parameters_order' => [
 
                                          'AEMB_IWB',
 
                                          'AEMB_DWB',
 
                                          'AEMB_XWB',
 
                                          'AEMB_ICH',
 
                                          'AEMB_IDX',
 
                                          'AEMB_BSF',
 
                                          'AEMB_MUL',
 
                                          'STACK_SIZE',
 
                                          'HEAP_SIZE'
 
                                        ]
 
                }, 'ip_gen' );
                }, 'ip_gen' );

powered by: WebSVN 2.1.0

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