查看: 1402|回复: 0
收起左侧

蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-10-16 23:52:34 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 皋陶 于 2020-10-16 23:52 编辑




    目录
    1  总体介绍

    1.1    总体特性

    1.2    SoC整体框图

    1.3    总线地址分配

    2  RISC-V核介绍

    2.1    处理器核简介

    2.2    处理器核中断

    2.2.1    CLINT

    2.2.2    PLIC

    2.3    JTAG调试模块

    3  SoC总线介绍

    3.1    ICB总线协议信号

    3.2    ICB总线协议时序

    3.3    SoC总线结构

    4  SoC外设介绍

    4.1    QSPIMaster

    4.2    GPIO

    4.3    UART

    4.4    PWM

    4.5    Always-On模块

    4.5.1    WatchDog

    4.5.2    RTC

    4.5.3    PMU

    4.5.4    LCLKGEN

    4.5.5    RESETGEN

    4.6    I2CMaster

    4.7    HCLKGEN

    5  SoC片上存储器介绍

    5.1    ITCM

    5.2    DTCM

    5.3    ROM

    6  SoC电源域管理

    6.1    电源域划分

    6.2    低功耗模式

    7  SoC时钟管理

    7.1    时钟域划分

    8  SoC复位管理

    8.1    芯片复位策略

    8.1.1    POR电路Reset

    8.1.2    WatchDogReset

    8.1.3    芯片引脚AON_ERST_N

    8.1.4    复位树关系

    9  上电流程控制

    9.1    上电流程

    9.1.1    从外部Flash开始执行

    9.1.2    从内部ROM开始执行

    9.2    上电地址选择

    10  SoC 顶层引脚

    10.1    SoC顶层引脚分配



    3 SOC总线介绍

    本SoC采用蜂鸟E203内核开发过程中定义了一种自定义总线协议ICB(InternalChip Bus),该总线用于蜂鸟E203内核内部使用,同时也可作为SoC中的总线使用。

    ICB总线的初衷是为了能够尽可能地结合AXI总线和AHB总线的优点,兼具高速性和易用性,它具有如下特性:

    • 相比AXI和AHB而言,ICB的协议控制更加简单,仅有两个独立的通道,如图3-1所示,读和写操作共用地址通道,共用结果返回通道。

    • 与AXI总线一样采用分离的地址和数据阶段。

    • 与AXI总线一样采用地址区间寻址,支持任意的主从数目,譬如一主一从,一主多从,多主一从,多主多从等拓扑结构。

    • 与AHB总线一样每个读或者写操作都会在地址通道上产生地址,而非像AXI中只产生起始地址。

    • 与AXI总线一样支持地址非对齐的数据访问,使用字节掩码(Write Mask)来控制部分写操作。

    • 与AXI总线一样支持多个滞外交易(MultipleOustanding Transaction)。

    • 与AHB总线一样不支持乱序返回乱序完成。反馈通道必须按顺序返回结果。

    • 与AXI总线一样非常容易添加流水线级数以获得高频的时序。

    • 协议非常简单,易于桥接转换成其他总线类型,譬如AXI,AHB,APB或者TileLink等总线。


    对于蜂鸟E203内核这样的低功耗处理器而言,ICB总线能够被用于几乎所有的相关场合,包括:作为内部模块之间的接口,SRAM模块接口,低速设备总线,系统存储总线等等。

    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(1)

    图3-1 ICB总线通道结构



    3.1    ICB总线协议信号

    ICB总线主要包含2个通道,如图3-1所示。ICB总线信号列表如下表所示:

    • 命令通道(Command Channel)

      Command Channel主要用于主设备向从设备发起读写请求。

    • 返回通道(Response Channel)

      Response Channel主要用于从设备向主设备返回读写结果。


    ICB总线信号表
    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(2)

    3.2    ICB总线协议时序

    本节将描述ICB总线的若干典型时序。

    • 如下图3-2所示:主设备向从设备通过ICB的Command Channel发送写操作请求(icb_cmd_read为低),从设备立即接收该请求(icb_cmd_ready为高)。从设备在同一个周期返回读结果且结果正确(icb_rsp_err为低),主设备立即接收该结果(icb_rsp_ready为高)。



    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(3)

    图3‑2写操作同一周期返回结果


    • 如下图3-3所示:主设备向从设备通过ICB的Command Channel发送读操作请求(icb_cmd_read为高),从设备立即接收该请求(icb_cmd_ready为高)。从设备在下一个周期返回读结果且结果正确(icb_rsp_err为低),主设备立即接收该结果(icb_rsp_ready为高)。


    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(4)

    图3‑3读操作下一周期返回结果


    • 如下图3-4所示:主设备向从设备通过ICB的Command Channel发送写操作请求(icb_cmd_read为低),从设备立即接收该请求(icb_cmd_ready为高)。从设备在下一个周期返回读结果且结果正确(icb_rsp_err为低),主设备立即接收该结果(icb_rsp_ready为高)。


    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(5)

    图3‑4写操作下一周期返回结果


    • 如下图3-5所示:主设备向从设备通过ICB的Command Channel发送读操作请求(icb_cmd_read为高),从设备立即接收该请求(icb_cmd_ready为高)。从设备在四个周期后返回读结果且结果正确(icb_rsp_err为低),主设备立即接收该结果(icb_rsp_ready为高)。


    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(6)

    图3‑5读操作四个周期返回结果


    • 如下图3-6所示:主设备向从设备通过ICB的Command Channel发送写操作请求(icb_cmd_read为低),从设备立即接收该请求(icb_cmd_ready为高)。从设备在四个周期后返回结果且结果正确(icb_rsp_err为低),主设备立即接收该结果(icb_rsp_ready为高)。


    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(7)

    图3‑6写操作四个周期返回结果


    • 如下图3-7所示:主设备向从设备通过ICB的Command Channel连续发送四个读操作请求(icb_cmd_read为高),从设备均立即接收该请求(icb_cmd_ready为高)。从设备在四个周期后连续返回四个读结果,其中前三个结果正确(icb_rsp_err为低),第四个结果错误(icb_rsp_err为高),主设备均立即接收此四个结果(icb_rsp_ready为高)。


    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(8)

    图3‑7连续四个读操作均四个周期返回结果


    • 如下图3-8所示:主设备向从设备通过ICB的Command Channel连续发送四个写操作请求(icb_cmd_read为低),从设备均立即接收该请求(icb_cmd_ready为高)。从设备在四个周期后连续返回四个写结果,其中前三个结果正确(icb_rsp_err为低),第四个结果错误(icb_rsp_err为高),主设备均立即接收此四个结果(icb_rsp_ready为高)。

    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(9)

    图3‑8连续四个写操作均四个周期返回结果


    • 如下图3-9所示:主设备向从设备通过ICB的Command Channel相继连续发送三个读和写操作请求。从设备立即接收了第一个和第三个请求,但是第二个请求第一个周期并没有立即接受(icb_cmd_ready为低),因此主设备一直将地址控制和写数据信号保持不变,直到下一周期该请求被从设备接受(icb_cmd_ready为高)。从设备对于第一个和第二个请求都是在同一个周期就返回结果且被主设备立即接受,但是对于第三个请求则是在下一个周期才返回结果,并且主设备还没有立即接受(icb_rsp_ready为低),因此从设备一直将返回信号保持不变,知道下一周期该返回结果被主设备接受。


    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(10)
    图3-9读写混合发生

    3.3    SoC

    本SoC总线结构如下图所示:

    • 蜂鸟E203内核BIU的系统存储接口ICB连接系统存储总线,通过其访问SoC中的若干存储组件,譬如ROM,Flash的只读区间等。

    • 蜂鸟E203内核BIU的私有设备接口ICB连接私有设备总线,通过其访问SoC中的若干设备,譬如UART,GPIO等等。


    有关SoC的结构和组件以及地址分配,请参见第2.3节。
    国内芯片技术交流-蜂鸟FPGA开发板全知道篇3: 开源SoC简介(2)risc-v单片机中文社区(11)

    图3‑10 SoC总线示意图


    后续文章
    此篇为《蜂鸟FPGA开发板全知道篇3:  开源SoC简介(2)》,请持续关注,后续即将发布:
    《蜂鸟FPGA开发板全知道篇3:  开源SoC简介(3)》
    《蜂鸟FPGA开发板全知道篇3:  开源SoC简介(4)》





    上一篇:蜂鸟FPGA开发板全知道篇3: 开源SoC简介(1)
    下一篇:蜂鸟FPGA开发板全知道篇3: 开源SoC简介(3)
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-20 15:50 , Processed in 0.706629 second(s), 48 queries .

    快速回复 返回顶部 返回列表