片上系统开发与Python实践
分享
课程详情
课程评价
spContent=片上系统(System on Chip,SoC)已经成为当代计算机系统的核心,深入片上系统开发是计算机系统能力的关键!在这个颇有专业深度的领域,Python语言以其简洁、高产、生态的魅力再次风靡硅谷,开启了高级语言逆袭硬件系统开发之路。一起动起来,站在风口、享受创新!
—— 课程团队
课程概述

    

站在风口:当“硬件遇到Python一番新天地即将开启 ~~

 

        —— 仅仅在电脑上开发些小软件,不过瘾怎么办?

        —— 请学习"片上系统开发",软件和硬件的极致结合,开启创新无限!

 

        片上系统(System on Chip,简称:SoC)早已取代CPU(中央处理器)成为当代计算机系统的计算核心,广泛存在于手机、嵌入式设备、物联网终端、无人飞行平台等各类应用系统中,承担核心计算任务。简单说,SoC是一个集成芯片系统,它在集成电路级整合了CPU、GPU、专用IP核、接口电路和存储器等功能,为计算任务提供高集成度、高可靠性和统一封装的计算环境。华为麒麟980芯片、高通骁龙855、苹果A12等都是典型的SoC系统。

      本课程主要面向信息、电子、微电子、光电、控制、计算机等专业领域高年级学生或相关领域从业者,以Xilinx FPGA为SoC计算平台,讲解片上系统开发的一般方法PYNQ(Python on Zynq)开发架构等具体内容。传统SoC开发需要学习Linux、C、FPGA、Verilog等一系列内容,学习曲线非常陡峭,然而,当SoC遇到Python,一切都有了新的开始,这就是全球首个片上系统开发框架:PYNQ


        —— 学了PYNQ能怎样?

        —— 分分钟开发软硬件小系统,智慧城市、物联网、工业互联网等领域大有可为!

 

      本课程主要讲解PYNQ基础开发”内容,包括3个教学部分,共8周内容,教学安排如下:

 

·         第一部分,共2片上系统开发基础了解片上系统基本概念和基础开发方法,了解PYNQ基本框架结构,构建开发环境。

·         第二部分,共4PYNQ基础开发深入PYNQ框架,学习基础Base Overlay的基本开发方法,掌握操作音频、视频、网络、USB、PMOD接口的方法

·         第三部分,共2PYNQ基础实例运用PYNQ框架,学习一批基础实例,初步掌握基于PYNQ的片上系统开发方法。

 

       本课程由北京理工大学和美国赛灵思公司(Xilinx)联合制作,提供全球首个基于PYNQ的片上系统开发内容,紧追硅谷最新技术风口,开辟软硬件结合创新的无限可能。


        —— 学了PYNQ还能做什么?

        —— 请你来告诉大家...



授课目标

本课程以培养片上系统、嵌入式、硬件系统开发能力为目标,首次介绍了该领域最先进的硅谷新技术,采用Python语言,构建片上系统开发的综合能力和技术体系。


本课程适合如下学习者:

  • 兴趣爱好者:对片上系统、嵌入式、硬件系统开发感兴趣的学习者

  • 开发从业者:在片上系统等相关领域从事开发或系统设计岗位的从业者

  • Python进阶学习者:掌握"Python基础语法",想尝试硬件开发的进阶学习者

  • 知识完备追求者:追求在计算机系统领域知识完备性的学习


课程大纲
预备知识

具有基本的Python编程能力、基本的计算机系统概念。

证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


参考资料

Python集成开发环境(IDE)

[1] IDLE: Python解释器默认工具

[2] Jupyter Notebook

[3] Visual Studio Code: https://code.visualstudio.com/


参考教程

暂无

 

参考网站

[1] Python主站https://www.python.org

[2] Python123学习主站https://python123.io

常见问题

Q1学习这门课是否需要 C/C++/Verilog 语言编程基础

A1

不需要,这门课仅需要有Python语言基础,Python水平以通过如下课程为准:

“Python语言程序设计” :https://www.icourse163.org/learn/BIT-268001


Q2:学习这门课是否要购买 PYNQ-Z2 硬件平台(课程中将大量使用)

A2

课程第 1-2 周是片上系统开发概述,不涉及具体编程,不需要硬件平台支持;课程第 3-8 周将深入开展系统开发内容讲解,*需要*购买 PYNQ-Z2 硬件平台。(硬件购买链接将在近期更新)

同时,Xilinx公司和爱课程网联合推出 PYNQ-Z2 硬件平台借用服务,2019年提供100-200套硬件平台用于学习借用,租借周期为2个月。爱课程网将通过其他方式提供硬件支持,链接将于近期更新。


Q3:开发使用的操作系统是 Linux 吗?

A3

PYNQ-Z2 硬件平台的确采用 Linux 为底层系统,然而,本课程不需要 Linux 基础。课程讲授的片上系统开发框架 PYNQ 是基于 Linux 系统之上的框架。采用Python语言开发。

 

Q4:这个课程需要配套教材或工具书吗?

A4

本课程将提供视频、文本资料和程序代码等作为学习资料,提供 Python123 平台进行实践训练。该领域暂时还没有参考书。


Q5:嵩老师为何要讲授这门课呢?

A5

嵩老师认为:"技术创新唯快不破"。几十年来,计算机系统开发主要围绕 "Linux内核" 开展,结合C/Verilog/FPGA/ARM/接口等技术展开,系统能力的学习周期很长,系统应用的开发周期也很长。随着万物互联时代的到来,将产生越来越多的硬件系统开发需求,系统开发领域的 "高产" 将是迫切需求。美国Xilinx公司(片上系统领域世界级公司,在专业领域内,无人不知)于2015年在硅谷开始实施 PYNQ 项目,为片上系统开发领域带来了全新的理念。嵩老师一直关注该领域发展,希望第一时间把属于未来的最新技术介绍给大家。


Q6:该课程的具体开课时间是什么?

A6

由于该课程需要硬件作为学习平台,Xilinx公司正在建设国内服务体系,在此背景下,该课程暂时还不能确定开始具体时间。预计将在2019年6月底之前开课。