OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [lib/] [gaisler/] [leon3/] [leon3.in] - Rev 2

Compare with Previous | Blame | View Log


mainmenu_option next_comment
bool 'Enable LEON3 SPARC V8 Processor' CONFIG_LEON3
if [ "$CONFIG_LEON3" = "y" ]; then
  int 'Number of processors' CONFIG_PROC_NUM 1
  comment 'Processor            '
  mainmenu_option next_comment
    comment 'Integer unit                                           '
    int 'SPARC register windows' CONFIG_IU_NWINDOWS 8
    bool 'SPARC V8 MUL/DIV instructions' CONFIG_IU_V8MULDIV
    if [ "$CONFIG_IU_V8MULDIV" = "y" ]; then
      choice 'Hardware multiplier latency' \
        "2-cycles               CONFIG_IU_MUL_LATENCY_2 \
        4-cycles                CONFIG_IU_MUL_LATENCY_4 \
        5-cycles                CONFIG_IU_MUL_LATENCY_5" 5-cycles
      if [ "$CONFIG_IU_MUL_LATENCY_4" = "y" -o "$CONFIG_IU_MUL_LATENCY_5" = "y" ]; then
        bool 'SPARC V8e SMAC/UMAC instructions     ' CONFIG_IU_MUL_MAC
      fi
    fi
    bool 'Single-vector trapping' CONFIG_IU_SVT
    int 'Load delay' CONFIG_IU_LDELAY 1
    int 'Hardware watchpoints' CONFIG_IU_WATCHPOINTS 0
    bool 'Enable power-down mode ' CONFIG_PWD
    hex ' Reset start address (addr[31:12]) ' CONFIG_IU_RSTADDR 00000
  endmenu
  mainmenu_option next_comment
  comment 'Floating-point unit'
    bool 'Enable FPU                             ' CONFIG_FPU_ENABLE
    if [ "$CONFIG_FPU_ENABLE" = "y" ]; then
      choice 'FPU core' \
        "GRFPU          CONFIG_FPU_GRFPU \
         GRFPU-LITE     CONFIG_FPU_GRFPULITE \
        Meiko           CONFIG_FPU_MEIKO" GRFPU
      if [ "$CONFIG_FPU_GRFPU" = "y" ]; then
        choice 'GRFPU multiplier' \
         "Inferred              CONFIG_FPU_GRFPU_INFMUL \
          DW                    CONFIG_FPU_GRFPU_DWMUL \
          ModGen                CONFIG_FPU_GRFPU_MODGEN" Inferred 
      fi
      if [ "$CONFIG_HAS_SHARED_GRFPU" = "y" ]; then
        bool 'Shared GRFPU                      ' CONFIG_FPU_GRFPU_SH
      fi
      if [ "$CONFIG_FPU_GRFPULITE" = "y" ]; then
        choice 'GRFPU-LITE controller' \
         "Simple                CONFIG_FPU_GRFPC0 \
          Data-forwarding       CONFIG_FPU_GRFPC1 \
          Non-blocking          CONFIG_FPU_GRFPC2" Simple       
      fi
      bool 'Use VHDL netlist          ' CONFIG_FPU_NETLIST
    fi
  endmenu
  mainmenu_option next_comment
  comment 'Cache system'
    bool 'Enable instruction cache       ' CONFIG_ICACHE_ENABLE
    if [ "$CONFIG_ICACHE_ENABLE" = "y" ]; then
      choice 'Associativity (sets)            ' \
        "1              CONFIG_ICACHE_ASSO1 \
        2               CONFIG_ICACHE_ASSO2 \
        3               CONFIG_ICACHE_ASSO3 \
        4               CONFIG_ICACHE_ASSO4" 1
      choice 'Set size (kbytes/set)' \
        "1              CONFIG_ICACHE_SZ1 \
        2               CONFIG_ICACHE_SZ2 \
        4               CONFIG_ICACHE_SZ4 \
        8               CONFIG_ICACHE_SZ8 \
        16              CONFIG_ICACHE_SZ16 \
        32              CONFIG_ICACHE_SZ32 \
        64              CONFIG_ICACHE_SZ64 \
        128             CONFIG_ICACHE_SZ128 \
        256             CONFIG_ICACHE_SZ256" 4
      choice 'Line size (bytes/line)' \
        "16             CONFIG_ICACHE_LZ16 \
        32              CONFIG_ICACHE_LZ32" 32
      if [ "$CONFIG_ICACHE_ASSO1" != "y" ]; then
        choice 'Replacement alorithm' \
        "Random         CONFIG_ICACHE_ALGORND \
        LRR             CONFIG_ICACHE_ALGOLRR \
        LRU             CONFIG_ICACHE_ALGOLRU" Random
        bool 'Cache locking      ' CONFIG_ICACHE_LOCK
      fi
    fi
    if [ "$CONFIG_MMU_ENABLE" != "y" ]; then
      bool 'Enable local instruction RAM            ' CONFIG_ICACHE_LRAM
    fi
    if [ "$CONFIG_ICACHE_LRAM" = "y" ]; then
        choice 'Local data RAM size (kbytes)' \
        "1              CONFIG_ICACHE_LRAM_SZ1 \
        2               CONFIG_ICACHE_LRAM_SZ2 \
        4               CONFIG_ICACHE_LRAM_SZ4 \
        8               CONFIG_ICACHE_LRAM_SZ8 \
        16              CONFIG_ICACHE_LRAM_SZ16 \
        32              CONFIG_ICACHE_LRAM_SZ32 \
        64              CONFIG_ICACHE_LRAM_SZ64 \
        128             CONFIG_ICACHE_LRAM_SZ128 \
        256             CONFIG_ICACHE_LRAM_SZ256" 4
        hex ' Local instruction RAM start address (8 MSB) ' CONFIG_ICACHE_LRSTART 8e
    fi
    bool 'Enable data cache       ' CONFIG_DCACHE_ENABLE
    if [ "$CONFIG_DCACHE_ENABLE" = "y" ]; then
      choice 'Associativity (sets)' \
        "1              CONFIG_DCACHE_ASSO1 \
        2               CONFIG_DCACHE_ASSO2 \
        3               CONFIG_DCACHE_ASSO3 \
        4               CONFIG_DCACHE_ASSO4" 1
      choice 'Set size (kbytes/set)' \
        "1              CONFIG_DCACHE_SZ1 \
        2               CONFIG_DCACHE_SZ2 \
        4               CONFIG_DCACHE_SZ4 \
        8               CONFIG_DCACHE_SZ8 \
        16              CONFIG_DCACHE_SZ16 \
        32              CONFIG_DCACHE_SZ32 \
        64              CONFIG_DCACHE_SZ64 \
        128             CONFIG_DCACHE_SZ128 \
        256             CONFIG_DCACHE_SZ256" 4
      choice 'Line size (bytes/line)' \
        "16             CONFIG_DCACHE_LZ16 \
        32              CONFIG_DCACHE_LZ32" 32
      if [ "$CONFIG_DCACHE_ASSO1" != "y" ]; then
        choice 'Replacement alorithm' \
        "Random         CONFIG_DCACHE_ALGORND \
        LRR             CONFIG_DCACHE_ALGOLRR \
        LRU             CONFIG_DCACHE_ALGOLRU" Random
        bool 'Cache locking      ' CONFIG_DCACHE_LOCK
      fi
      bool 'AHB snooping       ' CONFIG_DCACHE_SNOOP
      if [ "$CONFIG_DCACHE_SNOOP" = "y" ]; then
          bool 'Fast snooping       ' CONFIG_DCACHE_SNOOP_FAST
      fi
      if [ "$CONFIG_DCACHE_SNOOP" = "y" ]; then
          bool 'Separate snoop tags  ' CONFIG_DCACHE_SNOOP_SEPTAG
      fi
    fi
    if [ "$CONFIG_ICACHE_ENABLE" = "y" -o "$CONFIG_DCACHE_ENABLE" = "y" ]; then
      hex 'Fixed cacheability map  ' CONFIG_CACHE_FIXED 0
    fi
    if [ "$CONFIG_MMU_ENABLE" != "y" ]; then
      bool 'Enable local data RAM            ' CONFIG_DCACHE_LRAM
    fi
    if [ "$CONFIG_DCACHE_LRAM" = "y" ]; then
        choice 'Local data RAM size (kbytes)' \
        "1              CONFIG_DCACHE_LRAM_SZ1 \
        2               CONFIG_DCACHE_LRAM_SZ2 \
        4               CONFIG_DCACHE_LRAM_SZ4 \
        8               CONFIG_DCACHE_LRAM_SZ8 \
        16              CONFIG_DCACHE_LRAM_SZ16 \
        32              CONFIG_DCACHE_LRAM_SZ32 \
        64              CONFIG_DCACHE_LRAM_SZ64 \
        128             CONFIG_DCACHE_LRAM_SZ128 \
        256             CONFIG_DCACHE_LRAM_SZ256" 4
        hex ' Local data RAM start address (8 MSB) ' CONFIG_DCACHE_LRSTART 8f
    fi
  endmenu

  mainmenu_option next_comment
  comment 'MMU'
  bool 'Enable MMU       ' CONFIG_MMU_ENABLE
  if [ "$CONFIG_MMU_ENABLE" = "y" ]; then
    choice 'MMU type              ' \
        "combined       CONFIG_MMU_COMBINED \
         split          CONFIG_MMU_SPLIT" combined
    choice 'TLB replacement sheme              ' \
        "LRU            CONFIG_MMU_REPARRAY \
         Increment      CONFIG_MMU_REPINCREMENT" Increment 
       choice 'Instruction (or combined) TLB entries' \
        "2              CONFIG_MMU_I2 \
        4               CONFIG_MMU_I4 \
        8               CONFIG_MMU_I8 \
        16              CONFIG_MMU_I16 \
        32              CONFIG_MMU_I32" 8
    if [ "$CONFIG_MMU_SPLIT" = "y" ]; then
       choice 'Data TLB entries' \
        "2              CONFIG_MMU_D2 \
        4               CONFIG_MMU_D4 \
        8               CONFIG_MMU_D8 \
        16              CONFIG_MMU_D16 \
        32              CONFIG_MMU_D32" 8
        bool 'Fast writebuffer       ' CONFIG_MMU_FASTWB
    fi
  fi
  endmenu

  mainmenu_option next_comment
    comment 'Debug Support Unit        '
    bool 'Enable LEON3 Debug support unit    ' CONFIG_DSU_ENABLE
    if [ "$CONFIG_DSU_ENABLE" = "y" ]; then
      bool 'Instruction trace buffer' CONFIG_DSU_ITRACE
      if [ "$CONFIG_DSU_ITRACE" = "y" ]; then
        choice 'Instruction trace buffer size (kbytes)' \
        "1              CONFIG_DSU_ITRACESZ1 \
        2               CONFIG_DSU_ITRACESZ2 \
        4               CONFIG_DSU_ITRACESZ4 \
        8               CONFIG_DSU_ITRACESZ8 \
        16              CONFIG_DSU_ITRACESZ16" 1
      fi
      bool 'AHB trace buffer' CONFIG_DSU_ATRACE
      if [ "$CONFIG_DSU_ATRACE" = "y" ]; then
        choice 'AHB trace buffer size (kbytes)' \
        "1              CONFIG_DSU_ATRACESZ1 \
        2               CONFIG_DSU_ATRACESZ2 \
        4               CONFIG_DSU_ATRACESZ4 \
        8               CONFIG_DSU_ATRACESZ8 \
        16              CONFIG_DSU_ATRACESZ16" 1
      fi
    fi
  endmenu

#  define_bool CONFIG_LEON3FT_EN n
  mainmenu_option next_comment
  comment 'Fault-tolerance  '
   if [ "$CONFIG_LEON3FT_PRESENT" = "y" ]; then
    bool 'Use LEON3-FT processor core      ' CONFIG_LEON3FT_EN
    if [ "$CONFIG_LEON3FT_EN" = "y" ]; then
      choice 'IU Register file protection     ' \
        "None           CONFIG_IUFT_NONE \
        Parity          CONFIG_IUFT_PAR \
        PDMR            CONFIG_IUFT_DMR \
        BCH             CONFIG_IUFT_BCH \
        TMR             CONFIG_IUFT_TMR" None
      if [ "$CONFIG_FPU_ENABLE" = "y" ]; then
        bool 'FPU Register file protection   ' CONFIG_FPUFT_EN
      fi
      bool 'Register file error injection' CONFIG_RF_ERRINJ
      bool 'Cache memory protection        ' CONFIG_CACHE_FT_EN
      int 'Cache memory error injection' CONFIG_CACHE_ERRINJ 0
      bool 'Use LEON3FT netlist         ' CONFIG_LEON3_NETLIST
    fi
   fi
  endmenu
  mainmenu_option next_comment
    comment 'VHDL debug settings       '
    bool 'Processor disassembly to console         ' CONFIG_IU_DISAS
    if [ "$CONFIG_IU_DISAS" = "y" ]; then
      bool 'Processor disassembly in netlist         ' CONFIG_IU_DISAS_NET
    fi
    bool '32-bit program counters       ' CONFIG_DEBUG_PC32
  endmenu
fi
endmenu

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.