芯动力——硬件加速设计方法
分享
课程详情
课程评价
spContent=人工智能、数据中心等技术热点对计算性能的需求已经远远超出了传统处理器的能力所及,因而对采用FPGA或者ASIC进行硬件加速以获得更高的能耗比的硬件加速计算方法有着非常迫切的需求。课程以FPGA和数字芯片设计技术为教学主线,期望探索该领域的人才培养、课程设置、教学方法等。
—— 课程团队
课程概述

本课程的教学内容主要包括:

  1. VerilogHDL可综合设计。课程收获:如何避免常见的VerilogHDL代码误区,如何在考虑性能、面积、功耗、后端实现的情况下,编写高质量代码。 

  2. 同步电路设计与跨时钟域电路设计。课程收获:学会理解经典跨时钟域同步电路设计原理;理解和掌握异步FIFO“空”“满”设计原理,掌握FIFO深度计算方法;理解“异步复位、同步释放”的原理和方法;理解 “一段式”、“两段式”、“三段式”状态机电路结构的异同,掌握状态机编写方法。

  3. 逻辑综合DesignCompiler基本原理和方法。课程收获:掌握DesignCompiler使用流程,并理解DesignCompiler的约束;掌握Synopsys TCL语言的应用方法。

  4. 静态时序分析。课程收获:理解建立时间与保持时间的计算原理,掌握多时钟下数据路径的建立时间和保持时间的检查方法。

  5. FPGA硬件加速案例等。“FPGA硬件加速案例”采用了2018年全国大学生集成电路创新创业一等奖作品“基于Xilinx PYNQ FPGA的Softmax函数硬件加速设计”,相关工程和代码已经在github开源。如果听众手里有PYNQ Z2开发板,则可以复现该作品。

授课目标
  1. 如何避免常见的VerilogHDL代码误区,如何在考虑性能、面积、功耗、后端实现的情况下,编写高质量代码。 

  2. 学会理解经典跨时钟域同步电路设计原理;理解和掌握异步FIFO“空”“满”设计原理,掌握FIFO深度计算方法;理解“异步复位、同步释放”的原理和方法;理解 “一段式”、“两段式”、“三段式”状态机电路结构的异同,掌握状态机编写方法。

  3. 掌握DesignCompiler使用流程,并理解DesignCompiler的约束;掌握Synopsys TCL语言的应用方法。

  4. 理解建立时间与保持时间的计算原理,掌握多时钟下数据路径的建立时间和保持时间的检查方法。

  5. 基于给出的“FPGA硬件加速案例”的开源代码,理解并复现该作品。相关工程和代码已经在github开源。

课程大纲
预备知识
  1. 熟悉VerilogHDL基本语法

  2. 熟悉FPGA开发流程

  3. 具备数字电路基础知识

证书要求

1、60<=得分<=89为合格;得分>=90为优秀。

2、达到相应分数的学习者可以向平台付费申请相应等级的证书。

参考资料

第二章-VerilogHDL可综合设计

  1. SoC设计方法与实现(3).郭炜 等. 电子工业出版社.2017.第六章.

  2. 设计与验证. EDA先锋工作室. 人民邮电出版社. 第四章.

  3. Altera FPGA/CPLD设计(高级篇).EDA先锋工作室. 人民邮电出版社. 第一章

  4. 数字专用集成电路的设计与验证. 杨宗凯,黄建,杜旭 编著. 电子工业出版社. 2004.第五章.

  5. 数字IC设计:方法、技巧与实践. 唐杉,徐强,王莉薇 编著. 机械工业出版社. 2006.

  6. Clifford E. Cummings经典论文

第三章-同步电路设计与跨时钟域

  1. SoC设计方法与实现(3).郭炜 等. 电子工业出版社.2017.第七章.

  2. 设计与验证. EDA先锋工作室. 人民邮电出版社. 第六章.

  3. FPGA深度解析.   樊继明,陆锦宏 著. 北京航空航天大学出版社. 2015.第八章.

第四章-逻辑综合DesignCompiler

  1. Design Compiler User Guide

  2. 数字VLSI芯片设计:使用CadenceSynopsys CAD工具. (美)布鲁范德 著,周润德 译. 电子工业出版社. 2009.第九章.

  3. 综合与时序分析的设计约束:Synopsys设计约束(SDC)实用指南

  4. Sridhar GangadharanSanjayChur 著,韩德强 张丽艳 王宗侠等译 译. 机械工业出版社.2018.

  5. Tcl for Synopsys Tools.

  6. Design Compiler Optimization Reference Manual.

  7. Static Timing Analysis for Nanometer Designs: A Practical Approach. J. Bhasker, Rakesh Chadha. Springer. 2009. Chapter 3.

第五章-静态时序分析

  1. Static Timing Analysis for Nanometer Designs: A Practical Approach. J. Bhasker, Rakesh Chadha. Springer.2009. Chapter 8.