1.FPGAs: Overview of architectures and tools
FPGAs: 架构和工具的概述
本部分将从回顾数字系统设计基础开始,为本课程的其他主题奠定基础。在同步设计中,设计准则、时间和功耗约束将被强调,因为它们是所有FPGA设计应该遵循的初始要求。接下来,我们将概述一般的FPGA架构和工具,并用供应商提供的FPGA架构和工具的实例来说明。
具体的主题包括:
-
Digital system design basics 数字系统设计的基础
-
Overview of FPGA architectures FPGA架构的概述
-
Overview of FPGA design tools FPGA设计工具的概述
这堂课也将介绍课程的整体内容,并解释将会遵循的逻辑与方法。重要的是,课程的主要学习目标将会被阐释,以及为完成这些目标所需要做的事。
2.Timing Concepts 时间概念
满足时间要求通常是FPGA实现最重要的挑战,特别是当所需的时钟频率很高时。我们讨论了数字电路和系统中使用的各种计时概念,并说明了时间限制,它们来自哪里,以及它们如何帮助改进FPGA实现的计时性能。我们将在相应的实操中加强对概念的理解。
本节的具体主题包括:
-
Synchronous vs. asynchronous circuits 同步vs. 非同步电路
-
Synchronous timing concepts 同步时序概念
-
Global timing constraints 全局时序限制
-
Specific timing constraints 具体时序约束
-
Timing simulation 时序仿真
-
Timing report 时序报告
The corresponding lab will be: 相应的实验练习为:
Lab 1: Understanding Timing Simulation and Report
实验一: 了解时序模拟和报告
3.FPGA Timing Closure Techniques FPGA时序闭合技术
根据前一部分讨论的概念,本部分将推荐高级FPGA体系结构中所选的组件,这些组件可能有助于改进时间安排。例如,各种定时验证的IP硬核、高质量的时钟管理器等等。此外,为了支持FPGAs进出数据传输需求的不断增长,FPGAs中加入了高速I/O模块,如多千兆收发机和以太网IP核。讨论了高速度FPGA电路的高密度编码技术。最后总结了一种快速高速时序闭合的推荐设计流程。
具体的主题包括:
-
Timing proven IP hard cores 时序已被验证的IP硬核
-
Using high quality clocking 使用高质量的时钟
-
Using high speed I/O modules 使用高速I / O模块
-
HDL coding techniques for high speed circuits HDL编码技术
-
High speed timing closure design flow 高速时序闭合设计流程
The corresponding lab will be: 相应的实操为:
Lab 2: Timing Optimization for Closure
实验二: 时序闭合优化
4.Power Concepts 功耗概念
在移动应用中,由于FPGA实现的功耗限制了每次电池充电后的工作时间,因此满足功耗通常是FPGA实现的关键挑战。我们将讨论数字电路和系统中使用的各种电源概念,并展示什么是电源组件,它们来自哪里,以及如何评估FPGA实现的功耗。我们将在相应的实验中加强对概念的理解。
具体的主题包括:
-
FPGA power consumption components ·FPGA功耗来源
-
Low power FPGA architectures ·低功耗FPGA架构
-
Low power FPGA design tools & algorithms 低功耗FPGA设计工具和算法
-
FPGA power estimation FPGA功率估计
The corresponding lab will be: 相应的实操为:
Lab 3: FPGA Power Evaluation
实验三:FPGA功耗评估
5.FPGA Power Optimization Techniques FPGA功耗优化技术
基于前一部分讨论的概念,本部分将讨论实现低功耗FPGA实现的一些功耗优化技术,以及使用FPGA设计工具实现低功耗的正确设计方法。
具体的主题包括:
-
FPGA power optimization techniques FPGA功耗优化技术
-
Low power design guidelines 低功耗设计指导方针
The corresponding lab will be: 相应的实操为:
Lab 4: FPGA Power Optimization
实验四: FPGA功耗优化
6.Processor and Accelerator Based Computing Architecture
基于处理器和加速器的计算体系结构
在FPGA计算系统中,我们通常将计算非密集型代码分配给处理器(PS),而计算密集型代码分配给基于FPGA逻辑(PL)的加速器。本部分主要介绍处理器+加速器(PS+PL)体系结构的主要概念。主题包括I/O接口、寻址、中断、直接内存访问等。
7.Software/Hardware Co-Design Flow 软件/硬件协同设计流程
本部分介绍了如何使用SDSoC框架进行软硬件协同设计。我们首先讨论如何构建SDSoC联合设计平台,该平台由PS+PL硬件体系结构及其Linux OS系统软件组成。然后介绍了如何在PS上编译算法。第三,我们讨论了如何使用剖析来分析算法,知道算法的哪一部分应该分配给PS,哪一部分应该分配给PL。最后,我们使用SDSoC来帮助我们快速实现所决定的软硬件划分,并对其性能进行评估。
The corresponding lab will be: 相应的实操为:
Lab 5: Software/Hardware Co-Design with SDSoC
实验五: 软件/硬件与SDSoC协同设计
8.Software/Hardware System Optimization 软件/硬件系统的优化
讨论了软硬件协同设计系统的优化问题。利用前一部分得到的共同设计的系统,我们可能想进一步提高系统性能。我们将讨论如何使用高级合成工具来优化这方面的PL硬件性能。
The corresponding labs will be: 相应的实操为:
Lab 6: Co-Design Optimization
实验六: 协同设计优化
Lab 7: Building SDSoC Co-Design Platform
实验七: 搭建SDSoC协同设计平台