数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)

数字IC实践项目(5)—数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)

  • 写在前面的话
    • OpenSPARC T1 框图
    • OpenSPARC T2 框图
  • 项目简介和学习目的
    • 软件环境要求
  • T2 CCU
  • 总结
  • 项目地址

写在前面的话

  • Sun公司于2005年12月推出了CMT处理器UltraSPARCT1,并于2006年3月将该处理器的源码公开,命名为OpenSPARC T1,成为业界内第一款开源的64位处理器。
  • 又于2007年推出更加先进的后续处理器UltraSPARC T2,其开源版本OpenSPARC T2也随之公布 。OpenSPARC 处理器的开源资料包括处理器的硬件描述语言源码、编译验证的脚本和软件、芯片仿真的平台等丰富的相关文档。
  • T1和T2已经停止维护了,不过这两款芯片均是SUN公司商业芯片的开源项目,虽然属于上世纪末的性能,但是对于学生来讲是一个比较不错的开源项目,其RTL代码层次结构分明,也可以移植到FPGA开发平台进行验证。此外,相较于之前推荐的开源项目PULPino,OpenSPARC均是采用Verilog完成设计的,对于学生较为友好。

OpenSPARC T1 框图

数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第1张图片

OpenSPARC T2 框图

数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第2张图片

项目难度:⭐⭐⭐⭐
项目推荐度:⭐⭐⭐
项目推荐天数:14~42天

项目简介和学习目的

  • OpenSPARC T1处理器采用了64位SPARC V9体系结构,片内有8个SPARC V9处理器核,在硬件上共支持32个线程。每个SPARC核内部的L1-Cache被分为一个指令Cache和一个数据Cache,核内还有一个旁路转换缓冲器。OpenSPARC T1处理器片内的数据互联通过交叉开关进行。
  • OpenSPARC T2是一个单芯片多线程(CMT)处理器。OpenSPARC T2包含八个SPARC物理处理器内核。每个SPARC物理处理器核都有对八条线、两条整数执行管线、一条浮点执行管线和一条内存管线的全面硬件支持。

软件环境要求

整个项目时间相对古老,完成复现需要花费较长的时间搭建软件环境,这里建议直接学习RTL代码,掌握每个模块的功能和相互连接,并尝试完成简单的功能仿真就好。
T1要求的软件和EDA环境:
(1)操作系统要求:
数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第3张图片
(2)EDA 软件要求:
数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第4张图片

T2要求的软件和EDA环境:
(1)系统要求:
数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第5张图片
数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第6张图片

(2)EDA 软件要求:
数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第7张图片

项目实践环境:

FPGA开发环境:
前仿: Modelsim SE-64 2019.2
综合: Quartus (Quartus Prime 17.1) Standard Edition**

数字IC开发环境:
前仿: VCS 2016
综合:DC 2016

项目学习目的:
(1)熟练掌握项目中各文件的工程管理;
(2)熟悉System Verilog HDL仿真、FPGA综合工具以及了解数字IC设计工具及流程;
(3)学习SOC的基本结构和基础原理;
(4)学习T1和T2结构;
(5)熟练掌握Verilog语法和验证方法;
(6)熟练掌握Modelsim、VCS和DC等开发工具,了解linux脚本工具。

T2 CCU

完成T2时钟管理单元的编译和DC综合,已经感受到这个项目的恐怖了。
后面有时间再更新这个细节吧,整个项目的工作量真的蛮多的。
数字IC实践项目(6)—开源微处理器架构 OpenSPARC T1/T2(开源项目)_第8张图片

总结

整个项目涵盖了完整的SOC设计,rtl和脚本齐全,不过需要注意的是其开源时间相对较长,目前也停止了更新。在搭建软件环境和跑全流程方面会相对比较耗费时间。
个人建议是从RTL设计的单元进行学习,另外在整个项目中也涉及到商业项目中代码管理和脚本工具等相关知识。感兴趣的同学可以选择继续学习。
T1和T2代码量差距较大,对于个人独立完成整个项目要求较严格,可以选择T1和T2中的子模块进行学习,并尝试完成功能验证和综合。

项目地址

hhttps://www.oracle.com/servers/technologies/opensparc-overview.html

你可能感兴趣的:(数字IC经典电路设计和实践项目,fpga开发)