时间:2025-01-31 来源:FPGA_UCY 关于我们 0
本次实验已开启评论系统。欢迎大家在相应的页面下方友好交流!
更新说明
Lab2 实验文档的改动情况如下:
1. 实验简介
Q: 为什么到目前为止我无法知道自己代码的正确性?在 C 语言里,写完一个函数后就可以调试与运行,很快就找到 Bug 了!
A: 别急~ 这就是硬件描述语言与高级程序设计语言的区别之一。从本次实验开始,我们将带大家学习如何检验自己代码的正确性。
在了解 的基础语法知识后,我们也将正式踏入 硬件开发的阶段。首先,我们将学习更为深层次的 设计思想,培养更为完善的系统观念。接下来,我们将学习仿真文件的编写方法,用于检测自己设计的正确性。最后,我们将接触 FPGA 开发工具 ,并进行初步的使用与体验。
理论上,FPGA 从编程到下载实现预期功能的过程至少需要经历即 RTL 分析、综合以及实现这几个阶段。它们的简要介绍如下:
RTL 分析。RTL( Level,寄存器传输级)指通过描述寄存器到寄存器之间的逻辑功能来描述电路。RTL 分析过程则是将 HDL 硬件描述语言转换成逻辑门电路的过程。综合()。综合是指将 HDL 转换成较低层次电路结构的过程。低层次电路结构是 FPGA 内部存在的基本逻辑单元,包括查找表 LUT、触发器、RAM 等。这一步得到的电路图比 RTL 更为具体,结构上往往也十分不同。这是因为 FPGA 底层中并没有 RTL 生成的逻辑电路的实现,所以只能用其他逻辑资源进行代替。实现()。综合后生成的电路只表示了逻辑资源之间虚拟的连接关系,并没有规定每个逻辑资源的实际位置以及连线长度等。实现就是一个将综合电路中逻辑资源位置以及连线长度确定的过程。例子:FPGA 与搭积木
下面是一个很棒的类比。原帖链接在这里。
FPGA 可以看作是一个大型的积木仓库,里面有着各种各样形状的积木(不同的硬件逻辑资源),我们可以使用这些积木搭建出想要的物品(逻辑设计)。
现在,我们想要搭建一个变形金刚(目标设计)。HDL 的过程就是用通俗的语言描述变形金刚的特征与功能(硬件描述);RTL 分析过程将刚刚的 HDL 描述转换成变形金刚的图纸;综合过程则是将之前的图纸与仓库里的积木对应起来,确定各个积木的具体数量;实现过程则是从积木堆中找到最合适的积木。并最终组装到一起。
为了完成上面的步骤,我们需要借助一些专门的工具。从本次实验开始,我们将借助 帮助完成 的开发流程。在 Lab2 中,我们将了解到如何使用 进行 RTL 分析与仿真操作。
2. 实验目标进一步熟悉 的语法知识;学习如何编写测试文件;学习如何使用 进行 RTL 分析与仿真。3. 实验内容
【必做】学习 语言的进阶语法知识(点击这里跳转)。
【必做】学习仿真文件的编写(点击这里跳转)。
【必做】学习使用 进行仿真(点击这里跳转)。
【必做】完成 Lab2 的实验练习题(点击这里跳转)。
4. 提交说明
本次实验需要大家在 数电实验提交平台上在线提交相关内容。你提交的文件结构应当满足下面的文件树格式:
labs/
└── lab2_[姓名]_[学号]_ver[尝试编号]
├── figs (图片文件夹,如果没有可以无此文件夹)
├── lab2_[姓名]_[学号].pdf
├── src (涉及到的源文件,如果没有可以无此文件夹)
│ └── ......
└── others (其他你打算提交的文件,如果没有可以无此文件夹)
其中,尝试编号为自己在系统上提交的次数,例如:第一次提交的尝试编号为 0,第二次提交的尝试编号为 1,以此类推。尝试编号用于明确自己最后一次提交的文件版本。
请将全部文件按照上面的格式进行整理,压缩成一个压缩文件,最后提交到实验平台上。
关于实验报告
本学期《数字电路实验》的报告需要大家提交 PDF 格式。我们推荐大家使用 或者 Latex 撰写实验报告,这样可以直接导出为 PDF。大家也可以使用 Word、WPS 等进行报告撰写,最后转换为 PDF 格式。我们不推荐也不拒绝大家手写实验报告,但请将其拍照扫描成 PDF 文件后再上传。我们不接受任何因为文件格式错误而导致成绩异常的申诉请求!
在实验报告中,你需要给出每一次实验练习的答案,并附上必要的说明过程。
特别说明
实验报告的字数和排版与最终得分无关。
实验文档中有一些我们为大家列出的思考点,这部分内容无需在实验报告上列出。除了要求的内容,我们也欢迎大家在实验报告中包含:
注意