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

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

写在前面的话

  • 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 框图

在这里插入图片描述

OpenSPARC T2 框图

在这里插入图片描述

项目难度:⭐⭐⭐⭐
项目推荐度:⭐⭐⭐
项目推荐天数: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)操作系统要求:
在这里插入图片描述
(2)EDA 软件要求:
在这里插入图片描述

T2要求的软件和EDA环境:
(1)系统要求:
在这里插入图片描述
在这里插入图片描述

(2)EDA 软件要求:
在这里插入图片描述

项目实践环境:

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综合,已经感受到这个项目的恐怖了。
后面有时间再更新这个细节吧,整个项目的工作量真的蛮多的。
在这里插入图片描述

总结

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

项目地址

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

SPARC                                                                              Sun UltraSPARC II处理器 SPARC,全称为“可扩充处理器架构”(Scalable Processor ARChitecture),是RISC微处理器架构之一。它最早于1985年由升阳电脑所设计,也是SPARC国际公司的注册商标之一。这家公司于1989年成立,其目的是向外界推广SPARC,以及为该架构进行符合性测试。此外该公司为了扩阔SPARC设计的生态系统,SPARC国际也把标准开放,并授权予多间生产商采用,包括德州仪器、Cypress半导体、富士通等。由于SPARC架构也对外完全开放,因此也出现了完全开放原始码的LEON处理器,这款处理器以VHDL语言写成,并采用LGPL授权。 SPARC架构原设计给工作站使用,及后应用在升阳、富士通等制造的大型SMP服务器上。而升阳开发的Solaris操作系统也是为SPARC设计的系统之一,除Solaris外,NeXTSTEP、Linux、FreeBSD、OpenBSD及NetBSD系统也提供SPARC版本。 现时最新版本的SPARC为第8及第9版,在2005年12月,升阳方面宣布其UltraSPARC T1处理器将采用开放原始码方式。 开源CPU--OpenSparc T1简介     FPGA级别 2006年3月,Sun宣布开源化其多核心UltraSparc T1 CPU的处理器设计,采用的是GNU通用公共许可证(GNU GPL license)。之前Sun已经公开了"Hypervisor"API规范,允许各公司将Linux、BSD 及其他操作系统移植到UltraSparc T1平台。 Sun是业界首家将复杂的硬件设计使用GNU GPL许可进行发布的公司,而此举也将为UltraSparc T1处理器增加曝光度,并吸引开发人员为该平台开发软硬件解决方案。 该硬件设计的开源发布包括64-bit UltraSparc T1的Verilog硬件描述语言源代码,验证套装和模拟模型,ISA规范及Solaris 10 OS虚拟镜像。T1处理器的代号为“Niagara”,于去年发布并应用于Sun的T1000/T2000服务器中。 Sun目前推出了4、6、8核心的CPU版本,且每核心最多支持4线程,即总共最多32线程。T1基于Sparc V9架构,每核心集成16KB指令缓存和8KB主数据缓存,整个处理器共享3MB L2缓存。“OpenSparc T1”芯片设计,验证套装,架构和性能模型工具已经发布在http://www.opensparc.net网站。Sun还发布了“Cool Tools”,其中包括优化多线程CPU性能的各种程序以及CMT编程及描绘工具。 OpenSparc T1处理器的主要特征包括: 8个Sparc V9处理核心,每核心4线程,共计32线程 每处理核心16KB一级指令缓存,共128KB; 每处理核心8KB一级数据缓存,共64KB; 3MB二级缓存,4-way bank,12向关联,各核心共享; 4个DDR2内存控制器,每通道位宽144bit,总带宽峰值25GB/s; IEEE754兼容浮点单元(FPU),各核心共享; J-Bus输入输出接口,峰值带宽2.56GB/s,128bit多元地址/数据复用总线。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值