FPGA 课程——您需要了解的关于点阵 VHDL 课程的一切
我很高兴地宣布,我过去六个月一直在学习的 VHDL 和 FPGA 课程开始完成。该课程目前处于测试阶段,我计划在今年秋季首次推出。
FPGA 课程适合谁?
FPGA 课程面向具有其他编程语言知识但不熟悉 VHDL 和 FPGA 的开发人员。本课程将带您从初级或中级到能够理解和使用高级 VHDL 编码结构。
该课程非常适合负责 FPGA 开发的专业软件工程师。它也适合对硬件设计感兴趣的学生或自由职业者,或许正在考虑转行到 FPGA 开发。
任何具有基本编程技能的人都可以从本课程教给您的实践方法中受益。我们正在从头开始开发一个真实的实体产品。我正在向您展示如果我作为 FPGA 工程师提出要求,我将如何解决这个问题。
项目

点阵 LED 显示控制器是我们在本课程中创建的产品。如今,点阵 LED 显示屏通常用于大型户外广告牌或信息显示屏。不过,在廉价 LCD 显示器出现之前,它们已被用于小型设备,例如数字手表和自动售货机。
如果您愿意,您可以将课程作为仅模拟练习进行。您无需购买任何硬件甚至 FPGA 开发板。但是你可以根据需要创建自己的原型,所有信息都包含在课程中。
Lattice iCEstick FPGA 评估套件是本课程中使用的 FPGA 开发板。这块 25 美元的电路板具有 iCE40 HX1K FPGA,具有 1280 个逻辑元件和 64 kb 块 RAM,这对于我们的应用来说绰绰有余。 iCEstick 板可以直接插入面包板,这是我们在创建原型时会做的事情。

我们创建了一个 FPGA 实现,能够控制具有 64 个 LED 的 8×8 点阵 LED 显示器。 FPGA 会将有关如何渲染每个 ASCII 字符的信息存储在 Block RAM 中。
您将能够使用 FPGA 板上的 USB 连接器向 FPGA 发送文本。当我们在计算机的串行终端中键入时,文本会呈现在点阵显示器上。 FPGA 将使用我们在课程中创建的 UART 收发器将字符回显到串行终端。

请参阅物料清单 (BOM),了解用于创建原型的所有部件、耗材和工具。
FPGA课程结构
120 场讲座分为 17 个部分,视频平均时长 10 分钟。我故意将复杂的东西分成多个较短的讲座,以使其更易于管理。每个部分都涵盖了 VHDL 模块、测试平台或 VHDL 和 FPGA 设计中的概念。本课程没有遗漏任何内容,解释了所有概念和设计决策。
在开始 部分,我们安装所需的软件并设置开发环境。下一节介绍Lattice iCEstick FPGA开发板,以及点阵显示器的模拟原理图及配套电路。

我将解释我在编码课程中所做的一切,以便您可以跟踪进度,即使您只有基本的 VHDL 知识。您可以将我们编写的代码与您可能知道的任何其他编程语言联系起来。
本课程使用带有 VHDL 插件的 Visual Studio Code (VSCode) 编辑器。 VSCode 是目前最流行的编程编辑器之一,而且完全免费。我们使用 VHDL 插件中的模板片段来避免将时间花在琐碎、重复的代码上。虽然,VSCode 不是一个无需你真正了解发生了什么就自动完成代码的 IDE。

我们分别综合每个 VHDL 模块并检查综合工具创建的原理图。我们将此作为生成 RTL(寄存器传输级)生成模块的每个编码部分的最后一讲。这些课程教您了解如何将每行代码转换为数字逻辑的宝贵技能。

点阵 LED 控制器 FPGA 课程教您正确的 VHDL 设计技术。通过在每个设计层次中为每个模块创建一个测试平台,在您第一次启动芯片时就可以做到这一点。在开发硬件时,反复试验不是可行的策略。课程教你作为专业的FPGA工程师开发自检测试台。

课程中使用了ModelSim PE Student Edition,因为它是最常用的VHDL仿真器。学生版模拟器可以免费下载;这适用于本课程中使用的所有软件。
最后,我们通过在面包板上创建物理原型并在 FPGA 上实现设计来结束课程。关键时刻是当我们通过 USB 端口将设备连接到计算机并输入串行终端时。点阵LED显示屏上会显示字符吗?
这就是拥有严格核查制度的好处变得显而易见的时候。我们必须处理的问题比反应迟钝的芯片要容易解决,这可能是纯 FPGA 爱好者项目的第一个结果。
您将从 FPGA 课程中学到什么
您将学习如何以专业 FPGA 工程师的身份处理任务。该课程将把您的 VHDL 技能提升到一个让您有信心承担任何 VHDL 作业的水平。
这些是一些东西 本课程将教你:
高级 VHDL 功能
- 包、记录和子程序
- 受保护的类型(VHDL 类)
- 访问类型(VHDL 指针)
- 泛型
'last_event
等信号属性 或'stable
- 分层信号参考等 VHDL-2008 功能
高级测试平台策略
- 验证组件
- 总线功能模型
- 自检 VHDL 测试平台
- 交互式 TCL 驱动的测试平台
使用 FPGA 设计工具
- ModelSim VHDL 模拟器
- Synplify Pro 合成软件
- Lattice iCEcube2 设计软件
- 引脚分配和时钟限制
- 综合、布局和布线
想了解更多课程信息?
2019 年 9 月 21 日更新: 我已经完成了课程。

点击这里查看课程内容
打开:
待定 .
VHDL