Skip to content

CLINT 数据手册

English

概述

CLINT(core-local interruptor)是参数化软 IP,实现兼容 RISC-V Privileged Specification v1.1 的本地定时器和软件中断,并提供符合 AMBA APB v2.0 的 APB4 从接口。

特性

  • 64 位可编程 mtimemtimecmp
  • 软件中断
  • 静态同步、完全可综合

接口

端口类型说明
apb4interfaceAPB4 从接口
clint.tmr_irq_ooutput定时器中断输出
clint.sfr_irq_ooutput软件中断输出

寄存器

名称偏移长度说明
MSIP0x00004机器模式软件中断
MTIMECMPL0x40004mtimecmp[31:0]
MTIMECMPH0x40044mtimecmp[63:32]
MTIMEL0xbff84mtime[31:0]
MTIMEH0xbffc4mtime[63:32]

MSIP

访问说明
[31:1]-保留
[0]RW写 1 挂起软件中断,写 0 清除

复位值:0x0000_0000

MTIME

MTIMELMTIMEH 为只读的 64 位自由运行计数器低、高 32 位,复位值均为 0x0000_0000

MTIMECMP

MTIMECMPLMTIMECMPH 为可读写的 64 位比较值低、高 32 位,复位值均为 0xffff_ffff。当 mtime 达到比较值时产生定时器中断。

编程示例

所有寄存器按 4 字节对齐访问:

c
clint.MTIMECMPL = MTIMECMP_LOW_32;
clint.MTIMECMPH = MTIMECMP_HIGH_32;

// 更新下一次定时器中断
clint.MTIMECMPL = UPDATE_LOW_32;
clint.MTIMECMPH = UPDATE_HIGH_32;

// 软件中断
clint.MSIP = 1; // 触发
clint.MSIP = 0; // 清除

当前裁剪后的参考工程只保留 RTL 接口示例,不包含独立的 CLINT 软件驱动。

文档以中文为第一语言,并提供对应英文版本。