首页 > 图书中心 >图书详情

计算机组成原理在线实验教程——FPGA远程实验平台教学与实践

Xilinx公司大学计划推荐教材,Xilinx-教育部产学合作教学改革项目,基于RISC-V及开源项目进行实验。课件处为本书源代码。

作者:柴志雷、李佩琦、吴子刚、阳文敏
定价:39
印次:1-3
ISBN:9787302537793
出版日期:2020.01.01
印刷日期:2022.07.14

本书以线上线下结合的方式,使用FPGA平台完成数字电路及计算机组成原理实验,并用Python编程的方式与自己设计的硬件系统交互,来进行系统验证与调试。全书包含三大部分内容: 首先是实验所用的软硬件工具和平台; 其次是实验设计方法; 最后介绍实验内容安排的建议。书中主要讲述了PYNQ平台与基于Python的软硬件交互、Vivado开发工具、硬件描述语言简介、RISCV开源项目及组成原理实验内容建议等。 本书可用作高等院校计算机类、电子信息类专业的数字电路与组成原理相关课程的实验教材,也可作为FPGA及嵌入式系统软硬件学习的参考用书。

more >

前言 随着人类社会迈向万物互联的物联网时代,借由人工智能技术替代手工方式对大数据进行高效实时的处理已成为社会发展的必然选择,万物互联的未来之路一定走向万物智能,而人工智能的构成要素包含数据、算法及计算力。在此背景下,无处不在的人工智能对计算系统的计算能力提出了挑战性的需求,目前如火如荼的边缘计算即是对这一挑战的积极应对。而使得计算力需求更加充满挑战的原因是: 长期以来半导体行业遵循的摩尔定律和登纳德缩放定律已难以为继,这意味着芯片计算能力的提升已经无法在保持架构基本不变的情况下仅靠工艺的提升来完成,也意味着未来我们将更多地需要依赖架构创新,为应用定制芯片、根据应用需求深度优化软硬件系统。因此高校培养的人才也要比过去更多地掌握硬件设计及软硬件协同优化的知识,这也是近年来教育部高等学校计算机类教学指导委员会一直在大力推进“计算机系统能力”培养的原因。 经过若干年的努力,与系统能力紧密相关的课程,尤其是以“计算机组成原理”为代表的课程的教学及实践已经有了长足的进步。越来越多的学校开始采用FPGA作为实验教学的平台,并尝试将“数字逻辑”“计算机组成”“体系结构”“编译原理”甚至“操作系统”等多门课程的实践环节贯通,以此培养学生的软硬件系统能力。以清华大学、北京航空航天大学、浙江大学、华中科技大学、东南大学、同济大学等为代表的一些高校在此方面做了大量的工作并已取得了丰硕的成果。 总体上看,目前围绕计算机组成原理进行的软硬件系统能力培养具有如下特点: (1) 从实验平台来看,已采用FPGA的学校主体上仍是以线下的FPGA实验设备为载体进行实验,从时间和空间上限制了学生像软件类的实验一样随时随地进行。学生实验的达成度严重受限于实验课时。 (2) 从实验的调试和交互方式来看,目前的实验主要使用FPGA实验装置上的拨码开关、LED、串口等物理I/O进行,由于数量有限,极大地影响了调试的便利性。 (3) 从实验内容来看,鉴于《计算机组成与设计: 软硬件接口》一书的巨大影响力,多数学校选择的实验内容是兼容MIPS指令集的处理器设计。虽然MIPS指令集非常经典,用于教学时理论及实践素材都十分丰富,但难掩其产业界影响偏小、产学融合深度和广度有限的缺憾。因此常见的组合是,在讲授组成与体系结构时采用MIPS架构,但在讲授后续嵌入式系统时却几乎都切换成了ARM体系。 因此,为了结合人工智能时代计算系统的发展趋势进一步提升学生的系统能力,在前期教指委推动的系统能力培养工作基础上,计算机组成原理的实验教学还可以在如下方面进一步提升: (1) 实验平台方面: 探索“线上线下结合、课内课外一体化”的实验环境。课内采用线下方式,让学生对真实硬件有更直观的认识。课外采用在线实验,使学生可以随时随地通过远程访问实验设备进行实验。线上线下的使用方式保持一致,从而为学生提供可与软件实验相媲美的实验条件。尽管目前越来越多的高校认识到相比传统的插线式实验平台,采用FPGA进行组成原理实验教学将是未来的发展趋势。但现状是为数不少的学校仍然采用的是传统的插线式平台,在切换到FPGA方式时缺少便捷的“试水”途径。因此,线上方式及相应的参考内容可为系统能力培养较为薄弱的地区提供一种易于推进的模式。 (2) 实验的调试和交互方式: 本书采用Python程序与所设计的硬件模块进行交互。鉴于Python语言已成为人工智能时代最为流行的编程语言,使用Python可以突破实验平台物理I/O的局限,在提升交互便利性的同时可锻炼学生的软硬件协同设计能力,为学生今后从事人工智能计算相关的工作奠定良好的系统基础。对于线上方式,更没有必要刻板地模仿线下设备的物理I/O交互却又难以达到线下使用的真实感。 (3) 实验内容和设计方法: 本书介绍基于RISCV的开源开放生态的处理器设计。鉴于开放指令集RISCV在学术、工业界关注度的急剧增长及众多RISCV指令集的开源处理器项目的快速发展,从目前看其最有希望构建起允许学生探究底层实现细节并促进产学深度融合的生态系统,而这是目前其他指令集系统不具备的优势。在硬件开源开放的背景下,虽然逐条增加指令的增量式处理器设计方法依然重要,但如何基于开源资源快速完成自己的系统也应该开始引起更多的重视。因此,本书建议的实验内容由浅入深,最终介绍如何基于RISCV及开源项目进行实验,以使学生的所学在未来可以更好地和企业界进行对接。当然,本书提供的实验范例也仅供参考,各学校目前所采用的内容也都可以方便地在本书所介绍的平台上进行。 本书介绍如何以线上及线下方式使用PYNQ平台进行实验。PYNQ可以支持Python,它的核心芯片为Xilinx的SoC方式的Zynq FPGA。基于该实验平台,不仅可以满足本书中冯·诺依曼架构的经典处理器的实验教学需求,而且为学生进一步学习非冯·诺依曼架构的硬件加速器奠定好实验平台的基础。在当前人工智能发展对计算能力不断提出更高需求的大背景下,针对特定问题设计专用加速器成为趋势,而这些专用加速器通常都是非冯·诺依曼架构的。因此,学生在学习计算机组成原理课程,掌握经典的冯·诺依曼架构之后,进一步学习突破冯·诺依曼架构限制的专用加速器的知识是培养学生系统能力的未来趋势。 本书包含三大部分内容: 首先是实验所用的平台及开发工具; 其次是设计方法; 最后介绍实验内容安排的建议。具体如下: 第1章PYNQ开发平台介绍。本章介绍本书实验所用的PYNQ平台,除介绍PYNQ开发板及开发板所用的主芯片Zynq7020 FPGA芯片之外,还介绍了该款开发板所支持的PYNQ框架及其理念。 第2章实验环境的准备。本章介绍在采用PYNQ进行组成原理实验时,线下和线上的实验环境分别如何准备,如何通过线上或线下的方式使用PYNQ平台。 第3章基于PYNQ的组成原理实验流程概览。本章主要介绍本书线上及线下所用的FPGA实验平台——PYNQ上组成原理实验的概要流程,为读者建立一个整体的概念,方便理解后续的章节内容。 第4章Vivado开发流程。本章介绍在PYNQ平台上进行组成原理实验时,处理器及硬件模块设计所用的工具——Vivado,详细介绍使用Vivado进行开发时的流程及一些关键开发知识。 第5章基于Python的I/O交互。本章主要介绍如何基于Jupyter Notebooks,通过编写Python代码和用户设计的硬件系统进行交互,完成组成原理实验的验证和调试。 第6章硬件描述语言简介。本章主要介绍Verilog/VHDL语言的基本设计方法和基本模块示例,更详细的介绍请参考相关书籍。 第7章基于开源CPU的组成原理实验。本章介绍基于开源指令集RISCV及开源的RISCV处理器项目进行组成原理实验的理念及设计方法。同时为了扩展读者的知识面,也简单介绍了常规的逐条增加指令的增量式设计方法。 第8章实验内容设计。本章给出一些供参考的组成原理实验内容的设计,高校在开展组成原理实验教学时可以直接选用本章的实验,也可以根据各自学校的实际情况进行内容的重新设计和规划。 本书前言部分及第1~5、7、8章由柴志雷编写; 第6章及第4、5、7、8章中的代码部分由李佩琦、吴子刚编写; 阳文敏提供了在线平台的支持和实验内容的审核; 李康等也参与了部分内容的编写和校对; 中北大学的秦品乐教授和于一老师参与了本书的审阅并对内容安排及呈现方式提出了宝贵的修改建议。全书由柴志雷统稿及审阅。在本书内容设计及成稿的过程中,江南大学计算机科学与技术专业的本科生提供了宝贵的反馈意见,唐雨馨、刘昊鑫、李莹莹、李慧琳等同学参与了实验案例的设计。在本书的撰写过程中,得到了江南大学物联网学院及计算机科学与技术系的大力支持。本书的工作还得到了教育部高等学校计算机类专业教学指导委员会“系统能力培养”课程建设试点院校项目、Xilinx—教育部产学合作教学改革项目的支持。在成书的过程中还得到了南京大学袁春风教授、太原理工大学强彦教授、赛灵思(Xilinx)创新研究院陆佳华先生等众多专家的鼓励与支持。在此一并表示感谢。 本书中涉及的一些源代码及资源,请在清华大学出版社官方网站本书页面获取。 最后,受个人能力所限,本书的内容难免会存在不妥之处,敬请读者批评指正,我们将会持续改进。 作者 2019年7月

more >
扫描二维码
下载APP了解更多

同系列产品more >

区块链概论(微课视频版)

焦敏、周小明、陈旺、舒
定 价:49元

查看详情
人工智能导论

姜春茂
定 价:49元

查看详情
CPU设计实践教程——从数字电路到...

杨全胜、钱瑛、任国林、
定 价:59元

查看详情
数字逻辑(第2版)

卫朝霞
定 价:49元

查看详情
数字逻辑与组成原理实践教程

张冬冬、王力生、郭玉臣
定 价:49元

查看详情
图书分类全部图书
more >
  • 本书针对计算机组成原理实践环节涉及的实验平台、交互方式、实验内容进行了改进,以更好地适应系统能力培养的需求。
    (1)实验平台方面。介绍了“线上线下结合、课内课外一体化”的实验环境。
    (2)交互方式方面。介绍了采用Python程序与所设计的硬件模块进行交互的方式。以“软件定义交互”突破实验平台物理I/O的局限,在提升交互便利性的同时可锻炼学生的软硬件协同设计能力。
    (3)实验内容方面。考虑到硬件开源开放的背景,本书实验内容由浅入深,最终介绍如何基于RISC-V及开源项目进行实验,以使学生所学内容在将来可以更好地和企业界进行对接。

  • 本书针对计算机组成原理实践环节涉及的实验平台、交互方式、实验内容进行了改进,以更好地适应系统能力培养的需求。
    (1)实验平台方面。介绍了“线上线下结合、课内课外一体化”的实验环境。
    (2)交互方式方面。介绍了采用Python程序与所设计的硬件模块进行交互的方式。以“软件定义交互”突破实验平台物理I/O的局限,在提升交互便利性的同时可锻炼学生的软硬件协同设计能力。
    (3)实验内容方面。考虑到硬件开源开放的背景,本书实验内容由浅入深,最终介绍如何基于RISC-V及开源项目进行实验,以使学生所学内容在将来可以更好地和企业界进行对接。

more >
  • 目录

    第1章PYNQ开发平台介绍

    1.1PYNQ开发板

    1.1.1PYNQ Z1

    1.1.2PYNQ Z2

    1.2Zynq 7020芯片

    1.3PYNQ框架

    1.4PYNQ平台的使用

    第2章实验环境的准备

    2.1线下方式实验环境的准备

    2.1.1在本机安装Vivado软件

    2.1.2PYNQ板卡的准备

    2.1.3使用Jupyter Notebook与PYNQ建立连接

    2.2线上方式实验环境的准备

    第3章基于PYNQ的组成原理实验流程概览

    3.1整体开发流程介绍

    3.2Vivado开发流程概览

    3.3基于Python的硬件交互

    第4章Vivado开发流程

    4.1创建工程

    4.2设计输入

    4.2.1原理图方式

    4.2.2Verilog/VHDL方式

    4.3仿真

    4.4综合

    4.5引脚绑定(I/O处理)

    4.5.1物理引脚的绑定

    4.5.2与监控模块(PS)的连接

    4.6实现

    4.7TCL使用介绍

    4.8实例演示

    4.8.1原理图方式

    4.8.2Verilog方式

    第5章基于Python的I/O交互

    5.1Jupyter Notebook介绍

    5.1.1Jupyter组件

    5.1.2Notebook基础

    5.1.3Notebook用户界面

    5.2使用PYNQ Overlay加载流文件

    5.3Python引脚绑定

    5.4基于P...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘