This repository has been archived on 2026-08-21. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ciciec2026/rtl/ip/open-la500/doc/前言.md

1.3 KiB
Raw Permalink Blame History

前言

OpenLA500(齐物)是一款实现了龙芯架构32位精简版指令集(LoongArch32 Reduced)的处理器核。OpenLA500的架构为经典的单发射静态五级流水,配备两路组相连的指令/数据Cache,32项全相连的tlb实现虚实地址映射,以及BTB及RAS实现分支预测。基本按照国科大体系结构实验课程逐步设计得到。FPGA运行频率为50M。

OpenLA500经过全面验证,已处于稳定状态。并于2023年龙芯全流程平台项目中,在SMIC 180um工艺下流片。

以下将从8个方面介绍OpenLA500的设计细节。

  • 设计概述:基于顶层框图,介绍各级流水的划分和各级流水之间的交互,以及流水线与其他模块的交互。
  • 分支预测:BTB及RAS两个分支预测器的具体设计,以及在流水线中的工作原理。
  • 流水线的发射部分:流水线发射阶段(译码级)操作数准备、前递网络、阻塞控制的设计。
  • 流水线的执行部分:alu、mul、div运算部件在流水线中的实现。
  • MMU:虚实地址映射逻辑,tlb维护。
  • 例外实现:流水线中例外的判断及处理。
  • 访存子系统:指令/数据Cache及AXI总线接口的实现。
  • 调试部分:UART在线调试系统与OpenLA500的交互逻辑。