收藏 分销(赏)

基于RISC-V的SOPC电子系统设计实验研究_叶朝辉.pdf

上传人:自信****多点 文档编号:2120441 上传时间:2024-05-16 格式:PDF 页数:5 大小:1.12MB
下载 相关 举报
基于RISC-V的SOPC电子系统设计实验研究_叶朝辉.pdf_第1页
第1页 / 共5页
基于RISC-V的SOPC电子系统设计实验研究_叶朝辉.pdf_第2页
第2页 / 共5页
基于RISC-V的SOPC电子系统设计实验研究_叶朝辉.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 实 验 技 术 与 管 理 第 40 卷 第 11 期 2023 年 11 月 Experimental Technology and Management Vol.40 No.11 Nov.2023 收稿日期:2023-07-14 作者简介:叶朝辉(1968),女,湖南望城,博士,副教授,副所长,主要从事电子技术及应用研究,。引文格式:叶朝辉,张仁刚,赵腾浩,等.基于 RISC-V 的 SOPC 电子系统设计实验研究J.实验技术与管理,2023,40(11):71-75.Cite this article:YE Z H,ZHANG R G,ZHAO T H,et al.Experiment

2、al study on design of SOPC electronic system based on RISC-VJ.Experimental Technology and Management,2023,40(11):71-75.(in Chinese)ISSN 1002-4956 CN11-2034/T DOI:10.16791/ki.sjg.2023.11.012 基于 RISC-V 的 SOPC 电子系统设计实验研究 叶朝辉,张仁刚,赵腾浩,程雪珂(清华大学 自动化系,北京 100084)摘 要:该实验设计在电子系统设计相关教学中引入嵌入开源软核微处理器的片上可编程系统 SOPC

3、(system on programmable chip)技术,不仅能够让更多学生学习集成电路初步设计方法,而且能够通过自主设计 SOPC系统培养其创新能力。该文首先对 SOPC 电子系统设计的现状进行了分析,提出了基于 RISC(reduced instruction set computer)-V 开放指令集架构的微处理器进行 SOPC 系统设计教学,之后介绍了 RISC-V 微处理器的选择和移植方法,最后介绍了基于 RISC-V 微处理器的四个层次的实验设计原则和设计出的具体实验项目。关键词:电子技术;RISC-V 微处理器;SOPC 电子系统设计;实验项目 中图分类号:G642.0 文

4、献标识码:A 文章编号:1002-4956(2023)11-0071-05 Experimental study on design of SOPC electronic system based on RISC-V YE Zhaohui,ZHANG Rengang,ZHAO Tenghao,CHENG Xueke(Department of Automation,Tsinghua University,Beijing 100084,China)Abstract:This experimental design introduces the system on programmable chi

5、p(SOPC)technology embedded in open-source soft core microprocessors in electronic system design related teaching,which not only enables more students to learn the preliminary design methods of integrated circuits,but also cultivates their innovative ability through self-designed SOPC systems.This ar

6、ticle first analyzes the current status of SOPC electronic system design and proposes a microprocessor based on RISC(reduced instruction set computer)-V open instruction set architecture for SOPC system design teaching.Then introduces the selection and porting methods of RISC-V microprocessors,and f

7、inally introduces the four levels of experimental design principles and specific experimental projects designed based on RISC-V microprocessors.Key words:electronic technology;RISC-V microprocessor;SOPC electronic system design;experimental projects 1 背景 随着智能技术的发展,作为智能系统硬件核心的电子系统应用越来越广泛,对电子系统设计人才的需求

8、非常大,特别是高端设计人才。现代电子系统通常以片上系统 SoC(system on chip)为核心进行设计。由于 FPGA 具有灵活设计和可在系统编程特点,越来越多地应用在 SoC 系统设计中,形成片上可编程系统 SOPC。SOPC 通常是指基于现场可编程门阵列 FPGA(field programmable gate array)的带 1 个或多个软核或硬核微处理器以及一些外围设备的片上系统 SoC。SOPC 也是一种特殊的嵌入式系统,既具有微处理器处理能力强大的优势,又具有 FPGA 设计方式灵活和在系统可编程的优势,因此利用 SOPC 设计电子系统的应用越来越多。例如文献13分别介绍了

9、基于SOPC 的嵌入式网络服务器、生物医学应用和图像处理应用。SOPC 在教学实验中也发挥着重要作用,例如文献45采用 SOPC 进行计算机结构或微处理器72 实 验 技 术 与 管 理 教学,文献68采用 SOPC 进行电子系统设计教学。SOPC 内部既可以嵌入功能固定的硬核微处理器,也可以嵌入功能可通过软件设计和定制的软核微处理器。例如,文献6和8分别采用 MIPS 软核微处理器和NIOSII软核微处理器进行了SOPC电子系统设计实验。采用软核微处理器设计 SOPC 系统,不仅能培养学生的系统设计能力,还能让学生了解集成电路的设计方法,因为设计 SoC 芯片的原型和验证通常可以利用 FPG

10、A 完成。MIPS、NIOSII 是经典的 RISC 指令集架构,特点是简单、清晰、规则,且具有广泛的教学资源和案例。但 NIOSII 微处理器不是开源的微处理器,实际应用需要授权,非常不方便;MIPS 虽然目前开源,但没有成为学术研究的重点。而新兴的开源 RISC-V 微处理器的出现,使我国在高端处理器领域的发展迎来机遇,受到广泛欢迎。研究基于 RISC-V 微处理器的 SOPC电子系统设计实验并开设相关课程,具有重要意义。2 国内外相关课程调研 RISC-V 是一种新的开放指令集架构,由加州大学伯克利分校于 2010 年首次发布9。它基于精简指令集计算 RISC 的架构,具有开源、简洁、易

11、扩展、高效、灵活等特点,可以支持多种扩展指令集和自定义指令集。近年来,RISC-V 受到国内外学术界和工业界的广泛关注和研究。目前已有一些基于 RISC-V 的开源微处理器。RISC-V 指令架构不仅在各个领域取得了广泛成功,同时也成为教育领域的新选择,可以让学生掌握最新的技术发展和趋势,培养创新思维和实践能力。通过调研发现,目前仅有针对 RISC-V 微处理器的计算机结构课程,还没有基于 RISC-V 微处理器的SOPC 电子系统设计课程。例如文献1016是计算机结构课程基于 FPGA 平台设计一个 RISC-V 微处理器系统或计算机系统,侧重于培养学生对微处理器结构或计算机结构及外设的认识

12、和理解。因此,研究基于RISC-V 微处理器的 SOPC 电子系统设计实验并开设相关课程,具有实际意义。3 RISC-V 微处理器的选型 随着众多商业公司和科研机构加入到 RISC-V 开发和设计竞争中,涌现出多个 RISC-V 开源版本和商用知识产权。目前已有多款相对成熟的 RISC-V 微处理器投入商业使用或学术研究。这些微处理器可分为以下两类。(1)一类是开源或不开源的,但结构比较复杂,功能强、性能高,对于初学者来说要求较高,不太适合于电子系统设计教学。这类微处理器包括:美国加州大学伯克利分校发布的基于 RISC-V 指令集架构的开源微处理器 Rocket 和 BOOM,SiFive 公

13、司于 2016 年发布的不开源的商用 RISC-V 片上系统 SiFive FE310,阿里巴巴旗下半导体公司于 2019 年发布的玄铁 910微处理器,以及 Green Waves GAP8、Espressif ESP32、PULPino 等非开源的 RISC-V 指令集架构微处理器等。(2)第二类是开源且结构不太复杂的微处理器,适合于教学应用。例如,目前国内领先的 RISC-V IP和解决方案公司芯来科技公司开发的 RISC-V 微处理器蜂鸟 E203 微处理器,主要面向低功耗应用,支持自选的指令集,支持通过协处理器进行硬件加速,且具有丰富可自定义的接口等,适合于教学应用。4 RISC-V

14、 微处理器的移植 本文选择蜂鸟 E203 微处理器和赛灵思公司的ZYNQ 7000 系列 FPGA 开发板进行 SOPC 电子系统设计教学。首先需要将蜂鸟 E203 微处理器移植到 ZYNQ 开发板上,使用的软件平台包括 Xilinx 公司推出的集成设计环境 Vivado,以及芯来科技推出的集成开发环境Nuclei Studio,在调试过程中使用 RISC-V 配套的 GNU工具链。移植方法分为以下四个步骤。(1)进行片上系统的顶层设计。在顶层中需要完成处理器核心的例化,输入/输出接口说明和内部信号声明等。该步骤在 Vivado 集成开发环境中完成。(2)引脚约束和布局布线。将顶层设计中的输入

15、/输出接口绑定到 FPGA 开发板的指定管脚,如时钟信号引脚、调试信号引脚、自定义扩展引脚等。(3)仿真验证。在集成设计环境中执行项目的行为级仿真,观察设计的微处理器系统在执行程序过程中各信号是否按照期望的方式变化,确保设计能够实现目标功能。(4)上板测试。将 FPGA 与电脑进行硬件连接,如图 1 所示,将设计下载到 FPGA 开发板上,然后进行软件测试。软件测试在 Nuclei Studio 集成开发环境中完成,运行用于测试的 HelloWorld 程序,评估系统的性能和功能。5 SOPC 教学实验设计 5.1 整体设计 以移植的微处理器为核心,设计了一系列 SOPC教学实验,使学生能够通

16、过实践操作,掌握 RISC-V微处理器和 SOPC 设计的基本知识和技能,培养综合 叶朝辉,等:基于 RISC-V 的 SOPC 电子系统设计实验研究 73 图 1 FPGA 实验板硬件连接示意图 设计能力和创新能力。实验内容的设计主要有以下几点考虑。(1)充分利用蜂鸟 E203 处理器的计算能力,以及 FPGA 的灵活性和可编程特点。(2)从简单到复杂、从基础到综合,分层次地设计不同难度和不同复杂度的实验项目,使学生能够循序渐进地学习和探索。(3)结合实际应用场景,针对电子系统常用的计算、测量、控制、通信等应用领域,利用不同类型的外设和传感器,设计综合实验和创新实验,使学生能够将理论知识和实

17、际应用相结合,提高解决问题的能力和创新意识。基于以上分析,实验分为四个层次,分别为基本实验、提高实验、综合实验和创新实验。基本实验的目的是使学生熟悉微处理器的基本功能,包括 GPIO端口、PWM、中断的应用;提高实验的目的是使学生熟悉 SOPC 的设计及较复杂的应用,包括串口通信和二维数组求和协处理器(通过硬件模块加速计算);综合实验的目的是使学生熟悉 SOPC 的实际应用,包括超声波测距、舵机控制、蓝牙通信、手写体识别;创新实验则让学生进行自主设计,如学生可以用综合实验中的模块组成机器人、机械手、智能小车等控制系统。5.2 基本实验 1)GPIO 控制 LED 闪烁。该实验利用开发板上的按键

18、控制 LED 灯闪烁。首先在 Nuclei Studio 中创建项目,在主文件中导入蜂鸟 E203 SDK 的硬件抽象层头文件“hbrid_sdk_ hal.h”,该文件包含了开发板的通用宏定义和底层的用户使用接口。之后修改 GPIO 的掩码定义,将用户按钮和 LED 的掩码位置设置为约束文件中对应的编号。接下来分别调用函数“gpio_enable_input/output”使能处理器通过 GPIO 完成信号输入和输出,最后通过编程实现按键控制 LED 灯闪烁。2)PWM 控制 LED 实现“呼吸灯”。脉冲宽度调制 PWM 是一种常用开关信号输出控制模块,可以通过调节开关信号的占空比来改变平均

19、电压或电流,从而实现类似模拟信号的输出效果,在测量、通信、功率控制等众多领域有广泛应用。蜂鸟 E203 处理器支持 1 个 PWM 模块,其中包含四个时间控制单元 TIMER。每个单元均有 4 路输出通道,可以对其配置计数时钟源和可编程预分频器,每个通道都能输出中断信号。本实验利用其中一个 TIMER单元的输出信号,控制 LED 灯实现呼吸灯效果。3)中断实验。在电子系统设计中,经常需要用中断来处理实时性要求较高的事件,例如数据采集、网络通信等。蜂鸟 E203微处理器实现了 RISC-V指令集架构定义的 3 种基本中断类型,分别是软件中断、计时器中断和外部中断。其中,计时器中断主要用于实现定时

20、功能或调度多个任务的执行,由处理器内部的计时器产生;软件中断用于实现系统调用或异常处理,由处理器内部的指令产生;外部中断用于实现设备驱动或特定的事件响应,由外部的设备或信号产生。(1)计时器中断和软件中断。分别使用蜂鸟 E203微处理器的 CLINT 计时模块和软件指令产生 10 次中断,计时器中断和软件中断的服务函数均设计为输出当前触发中断的类型和中断的次数。(2)外部中断。采用两个按键作为外部中断源,两个 LED 作为中断服务函数的控制对象,每当按键被按下,触发一次中断,处理器监听到中断后,进入服务函数,在这个函数中通过分支判断语句分辨是哪一个按键所发出的中断,并控制对应的 LED 灯切换

21、亮/灭状态。运行程序可以在终端观察到图 2 所示的输出。图 2 外部中断输出结果 5.3 提高实验 1)UART 串口通信。UART 是一种常用的串行异步通信协议,应用非74 实 验 技 术 与 管 理 常广泛,可以用来连接计算机、终端、调试器、传感器等众多设备,实现点对点或多点之间的通信。蜂鸟 E203 处理器配置多个 UART 串口,其中UART0 是默认的调试串口。本实验选择 UART2 来连接外设并完成实验。2)基于 RISC-V 指令架构的软核扩展。RISC-V 指令集架构的一个重要特点是可扩展性,可以根据不同的应用场景和需求,添加自定义的指令和模块。本实验利用 NICE 协处理器对

22、蜂鸟 E203 软核进行扩展,实现对二维数组求和的硬件加速。蜂鸟E203支持可配置的NICE协处理器接口实现指令扩展,该接口通过四个通道与主处理器交互,分别是请求通道、响应通道、内存请求通道和内存响应通道。实现加速的原理是通过 FPGA 的硬件逻辑单元来完成特定领域的运算,从而提高性能。本实验实现了一个用于加速二维数组求和运算的协处理器,在进行相应的求和运算时,自定义的指令会从执行单元通过 NICE 请求通道发送到协处理器,然后协处理器再根据指令的功能码的操作数进行相应的操作,并通过相应通道返回计算结果。与用软件实现的计算结果的速度进行对比,结果显示协处理器的计算速度约为软件计算的 4 倍。实

23、验程序由芯来科技提供。5.4 综合实验 综合实验包括超声波测距、机器人舵机控制、蓝牙通信、手写体识别。通过这些实验,学生可以学习如何利用外设和计算模块组成实用系统。1)超声波测距。超声波测距模块是一种利用超声波发射和接收信号来测量距离的传感器。本实验使用的传感器型号为HC-SR04,其工作原理是:通过 IO 口 TRIG 给模块发送一个至少 10 s 的高电平信号,触发测距;模块自动发送 8 个 40 kHz 的方波,并检测是否有回波信号返回;如果有回波信号,模块通过 IO 口 ECHO输出一个高电平,其持续时间就是超声波从发射到返回的时间;最后根据高电平时间和声速的关系计算距离。通过编写驱动

24、程序控制超声波测距模块进行测量,读取测量结果,并通过串口传给计算机实时显示测量距离。2)机器人舵机控制。本文使用的舵机为搭建小型机器人的舵机,如图 3所示。该系列的机器人舵机采用半双工串行异步总线通信,微处理器中的控制程序可以通过 UART 串口控制一个或多个舵机工作。图 3 FPGA 实验板与控制舵机的连接 3)蓝牙通信。蓝牙模块是一种能够实现无线数据通信的模块,它使用蓝牙协议建立和维持连接,传输数据和控制信号。本实验使用基于 UART 串口的蓝牙模块,该模块内部集成了一个蓝牙芯片和天线,可以支持蓝牙 2.0标准传输协议,工作在 2.4 GHz 的 ISM 频段。该模块只需要 4 根信号线

25、TXD、RXD、GND 和 VCC 就能与蜂鸟 E203 微处理器进行双向通信。将手机与配备了蓝牙扩展模块的 SOPC 系统连接,并互相发送数据进行测试。图 4 为实验结果。图4(a)是手机端蓝牙连接助手界面,可以看出手机成功接收到处理器通过蓝牙模块发送的字符串;图 4(b)是Nuclei Studio 中的终端输出,处理器成功接收到手机发送的字符串,并通过 UART0 串口将其打印在电脑屏幕上。(a)(b)图 4 蜂鸟 E203 通过蓝牙模块收发数据 4)手写体识别。构建简单的神经网络用于处理机器学习中的MNIST 手写数字分类问题。首先设计一个简单的 CNN 叶朝辉,等:基于 RISC-V

26、 的 SOPC 电子系统设计实验研究 75 神经网络协处理器,然后用它识别手写数字,识别结果通过串口传到计算机显示。5.5 创新实验 由学生自由选题,通过团队协作,完成一个具有创意的电子系统设计,例如智能小车、机器人、人工智能算法等。6 结语 RISC-V 是一种新的开放指令集架构。在电子系统设计相关教学中引入基于 RISC-V 的 SOPC 电子系统设计教学,既可以让学生学习集成电路初步设计的方法,又可以通过自主设计 SOPC 系统来培养他们的创新能力。本文选择芯来科技公司开发的 RISC-V 微处理器,将其移植到 FPGA 中,并根据其特点设计了四个层次的实验,循序渐进地帮助学生熟悉微处理

27、器和 FPGA,进行 SOPC 系统设计,培养实践能力、创新设计能力和团队协作精神。参考文献(References)1 PRASHANT G S,AKBARALI M S.Design of embedded web server based on NIOS-II soft core processor C/International Conference on Electrical,Electronics,and Optimization Techniques.Chennai,India:IEEE,2016:488492.2 DOMINIC R,JOSEPH,IAN H,et al.An i

28、ntroduction to soft core processors and a biomedical applicationJ.IEEE Potentials.2018,37(2):1318.3 MARWA F,WAJIH E Y,MACHOUT M.The design of an embedded system(SOPC)for an image processing application C/International Conference on Control,Automation and Diagnosis.Hammamet,Tunisia:IEEE,2017:511515.4

29、 ERI O,YUKI M,TOMOHIRO M,et al.Reconfigurable IBM PC compatible SoC for computer architecture education and researchC/IEEE 9th International Symposium on Embedded Multicore/Many-core Systems-on-Chip.Turin,Italy:IEEE,2015:6572.5 KOSTADINOV N,BENCHEVA N.An approach for teaching processor design and ho

30、w to extend its featuresC/29th Annual Conference of the European Association for Education in Electrical and Information Engineering.Ruse,Bulgaria:IEEE,2019:14.6 HARRISS L,OWEN R,SEDANO E,et al.MIPSfpga:Hands-on learning on a commercial soft-coreC/11th European Workshop on Microelectronics Education

31、(EWME),Southampton,UK:IEEE,2016:15.7 SUPPIAH R,SHAUN N S Q.Introducing microprocessor-based systems design on an ARM softcore using a FPGA and a teaching auxiliary boardC/IEEE Global Engineering Education Conference.Abu Dhabi,United Arab Emirates:IEEE,2016:751756.8 叶朝辉,华成英,张利伟,等.基于 FPGA 的 SOPC 电子系统设

32、计实验研究J.实验技术与管理,2018,35(3):161164.YE Z H,HUA C Y,ZHANG L W,et al.Research of experiment for SOPC electronic system design based on FPGAJ.Experimental Technology and Management,2018,35(3):161164.(in Chinese)9 WATERMAN A,LEE Y,PATTERSON D A.The RISC-V instruction set manualZ.Volume I:Base User-Level IS

33、A.Vol.1.California,Berkeley:University of California,Berkeley,2011.10 冯建文.基于 RISC-V 架构的中断实验设计J.实验室研究与探索,2022,41(12):3438.FENG J W.Interrupt experiment design based on RISC-V architectureJ.Research and Exploration in Laboratory,2022,41(12):3438.(in Chinese)11 陈志广,刘皓铧,卢宇彤.基于 RISC-V 的计算机组成原理实验教学改革与实践J.

34、计算机教育,2023,338(2):128132.CHEN Z G,LIU H H,LU Y T.Experimental teaching of computer composition principles based on RISC-V reform and practiceJ.Computer Education.2023,338(2):128132.(in Chinese)12 齐乐,常轶松,陈欲晓,等.基于 SoC-FPGA 的 RISC-V 处理器软硬件系统级平台J.计算机研究与发展,2023,60(6):12041215.QI L,CHANG YI S,CHEN YU X,ZH

35、ANG X,et al.A system-level platform with SoC-FPGA for RISC-V hardware-software integrationJ.Journal of Computer Research and Development:2023,60(6):12041215.(in Chinese)13 秦国锋,李晨扬,林芃芃,等.重构计算机系统教学:从 MIPS到 RISC-V 计算机原型系统实验J.实验技术与管理,2022,39(5):189198,227.QIN G F,LI C Y,LIN P P,et al.Reconstructing comp

36、uter architecture teaching:Computer prototype system experiment from MIPS to RISC-VJ.Experimental Technology and Management.2022,39(5):189198,227.(in Chinese)14 MCGREW T,SCHONAUER E,JAMIESON P.Framework and tools for undergraduates designing RISC-V processors on an FPGA in computer architecture educ

37、ationC/International Conference on Computational Science and Computational Intelligence.Las Vegas,NV,USA:IEEE,2019:778781.15 NELSON I,FERREIRA R,NACIFJ A,et al.Is it time to include high-level synthesis design in digital system education for undergraduate computer engineers?C/IEEE International Symposium on Circuits and Systems.Daegu,Korea:IEEE,2021:15.16 HARRIS S L.et al.RVfpga:Using a RISC-V Core targeted to an FPGA in computer architecture educationC/31st International Conference on Field-Programmable Logic and Applications.Dresden,Germany:IEEE,2021:145150.(编辑:张文杰)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服