龙芯中科赛题分析


赛题概括

利用杯赛企业提供的或自行设计的IP,构建一个基于LoongArch指令集的芯片设计并在FPGA平台上完成原型系统验证,并完成针对芯片电路模块的集成电路后端设计实践。

http://univ.ciciec.com/nd.jsp?id=882#_jcp=1(赛题链接)

赛题任务及解读

初赛

利用杯赛企业提供的IP和芯片设计指导,构建一个基于LoongArch指令集的芯片设计并在FPGA平台上运行指定软件完成测试,提交设计文档。

1、IP是什么?

IP 是 Intellectual Property(知识产权)的缩写,在电子与计算机领域通常指的是某个特定的设计或技术方案,其拥有法律保护。IP可以指硬件设计、软件算法、协议标准等内容。在集成电路(IC)设计中,IP的使用可以大大加速开发周期,因为它们是可以直接集成到芯片设计中的现成模块,不需要重新开发。比如,可以直接使用已经设计好的处理器IP,直接将其嵌入到自己的芯片中,这样就能专注于其他特性和优化。

杯赛企业提供的IP资源包含支持LoongArch架构的处理器核、片上互连总线和部分外设接口,其中处理器核IP包括LA132(教育版)和OpenLA500。LA132(教育版)需要参赛队所在学校与龙芯中科公司另行签署免费授权协议后定向发布。

2、LoongArch指令集。

LoongArch指令集 LoongArch指令集(龙架指令集)是中国自主研发的指令集架构(ISA),LoongArch是基于RISC(Reduced Instruction Set Computer,简化指令集计算机)架构设计的,它的指令集相对简单,操作较为直接,能够高效执行基本运算操作。目标是替代国际通用的X86和ARM架构,推进国内芯片自主可控的发展。

3、FPGA

FPGA(现场可编程门阵列)是一种硬件描述语言(HDL)编程的可编程芯片。通过FPGA验证,可以在设计初期对芯片进行原型验证,减少错误并加速芯片的迭代优化。对于本赛题,FPGA平台将作为芯片设计的验证环境:

  • 设计原型:使用FPGA开发板进行芯片的原型开发,确保指令集与硬件协同工作。
  • 功能测试:在FPGA上加载测试程序,验证芯片的基本功能,确保设计正确无误。
  • 性能验证:在FPGA上执行性能评估,检查芯片的运算速度、能效等性能指标。

初赛阶段各参赛队限定使用“计算机系统能力培养远程教学平台”远程FPGA实验平台,杯赛企业将在整个竞赛期间向杯赛参赛队免费提供远程FPGA实验平台账号。

分区赛

各参赛队可以在初级赛阶段完成内容基础上,通过自主设计IP等方式对芯片进行功能扩展性能优化;同时各参赛队基于集成电路后端设计参考流程完成给定电路模块的后端设计并形成实践报告;最终提交设计文档与数据并进行现场答辩演示。

1、功能扩展和性能优化。

前端设计不仅要在FPGA平台上通过功能测试程序集还需要通过系统测试程序集。

2、后端设计。

后端设计是集成电路设计的一个关键环节,它主要包括以下几个步骤:

  • 布局和布线:在芯片设计中,后端设计的第一步是根据电路图进行物理布局,将各个组件放置在合适的位置,并进行布线,使得信号和电源能够正确传输。
  • 时序分析:检查电路的时序是否满足要求,确保数据在正确的时间传输,并且不会出现信号延迟或冲突。
  • 功耗分析:评估芯片的功耗,特别是在高频工作时,优化功耗以确保芯片高效运行。
  • 验证和优化:进行功能和时序验证,确保电路模块的设计符合预期要求。之后,进行必要的优化以提升性能。

3、进阶

自主设计IP并在芯片中集成应用;对集成自主设计IP的芯片设计完成后端设计,形成正确输出;

国赛

国赛评比的内容跟分区赛是一样的,所以只要把分区赛继续做好就行啦。

学习路线

1、处理器架构 & LoongArch 指令集

  • 掌握 LoongArch 指令集的基本操作(寄存器、访存、分支等)。
  • 熟悉 LoongArch 现有开源处理器(OpenLA500、LA132)结构。

推荐资料《计算机组成原理》、LoongArch 官方 ISA 手册。

2、FPGA 开发基础

掌握 Verilog语言、熟悉FPGA使用。

3、IC 后端设计