• Rocket


    https://mp.weixin.qq.com/s/03mqAmLiaA1JwOePR5IDyQ

     

    简单介绍Configs的实现。

     

     

    1. BaseSubsystemConfig

     

    BaseSubsystemConfig包含基本子系统的配置定义。

     

    1) 核心参数

     

    a. PgLevels:页表层次:

     

    b. XLen:核心数据总线宽度:

     

    c. MaxHartIdBits:根据核心的个数确定:

     

    2) 连接参数

     

    包括系统总线、控制总线、外设总线、存储总线、前端总线的基本配置参数:

     

    3) (基本上)必备的设备参数

     

    包含BootROM/Debug/CLINT/PLIC等模块的配置参数:

     

    2. WithNBigCores

     

    引入n个大核的配置:

    其中:

    a. RocketTilesKey用于查找和定义核心参数;

    b. big为模板配置,然后根据复制n份作为n个核心的配置;

    c. RocketTileParams定义单个核心的配置参数:

     

    3. WithNSmallCores

     

    引入n各小核的配置:

    其中:

    a. RocketTilesKey用于查找和定义核心参数;

    b. small为模板配置,然后根据复制n份作为n个核心的配置;

    c. 与大核相比,比较明显的差异是小核不支持VM;

     

    4. With1TinyCore

     

    引入一个超小核的配置:

    因为大核、小核、超小核使用同样的RocketTilesKey,所以WithNBigCores/WithNSmallCores/With1TinyCore不能同时存在。

     

    5. WithNBanks

     

    用于修改L2 Memory的bank数量:

     

    6. WithNTrackersPerBank

     

    用于修改BroadcastKey中的nTrackers参数,进而影响生成的TLBroadcast节点:

     

    7. WithL1ICacheSets

     

    用于配置L1 instruction/data cache的参数:

     

    8. WithL1DCacheSets

     

    同上。

     

    9. WithL1ICacheWays

     

    同上。

     

    10. WithL1DCacheWays

     

    同上。

     

    11. WithCacheBlockBytes

     

    配置cache line的长度:

     

    12. WithBufferlessBroadcastHub

     

    用于配置TLBroadcast节点的bufferless参数:

     

    13. WithIncoherentTiles

     

    配置缓存不一致的tiles:

     

    14. WithRV32

     

    使用32位的核:

     

    15. WithNonblockingL1

     

    修改核心的nMSHRs参数:

     

    16. WithNBreakpoints

     

    修改核心支持的断点数量:

     

    17. WithRoccExample

     

    定义生成ROCC样例的方法:

     

    18. WithDefaultBtb

     

    修改BTB参数为默认值:

     

    19. WithFastMulDiv

     

    支持快速乘除运算:

     

    20. WithoutMulDiv

     

    不支持乘除运算:

     

    21. WithoutFPU

     

    修改fpu参数:

     

    22. WithFPUWithoutDivSqrt

     

    同上。

     

    23. WithBootROMFile

     

    修改bootrom镜像文件的名称:

     

    24. WithSynchronousRocketTiles

     

    修改rocket crossing type:

     

    25. WithAsynchronousRocketTiles

     

    同上。

     

    26. WithRationalRocketTiles

     

    同上。

     

    27. WithEdgeDataBits

     

    修改数据位宽:

     

    28. WithJtagDTM

     

    使用JTAG调试接口:

     

    29. WithDebugSBA

     

    包含一个系统总线访问模块:

     

    30. WithNBitPeripheryBus

     

    定义外设总线宽度:

     

    31. WithoutTLMonitors

     

    禁用Monitor:

     

    32. WithNExtTopInterrupts

     

    支持n个外部中断:

     

    33. WithNMemoryChannels

     

    定义支持的内存通道数:

     

    34. WithExtMemSize

     

    定义外部存储的大小。

     

    35. WithDTS

     

    定义DTS相关参数:

     

    36. WithTimebase

     

    定义时间基准:

     

    37. WithDefaultMemPort

     

    定义内存端口的参数:

     

    38. WithNoMemPort

     

    同上。

     

    39. WithDefaultMMIOPort

     

    定义MMIO端口参数:

     

    40. WithNoMMIOPort

     

    同上。

     

    41. WithDefaultSlavePort

     

    定义SlavePort的参数:

     

    42. WithNoSlavePort

     

    同上。

     

    43. WithScratchpadsOnly

     

    定义scrach参数:

                 

     

     

  • 相关阅读:
    01背包回溯法
    网络嗅探器
    侦听局域网内密码
    Winsock协议目录
    LSP(分层服务提供者)
    n后问题回溯法
    批处理作业调度回溯法
    图m着色问题
    SPI概述
    符号三角形问题回溯法
  • 原文地址:https://www.cnblogs.com/wjcdx/p/13139810.html
Copyright © 2020-2023  润新知