学习、AI 和数字逻辑
学习、AI 和数字逻辑
现在是 2025/12/15 早上八点,今年下半年的 CS2 Major 刚刚在凌晨结束,FaZe 输给了 Vitality。我看完比赛,想起自己还有数字逻辑这么一门课的大作业需要交。
在这个大作业上,我进展缓慢、略显迷茫,趁着熬夜后思绪杂乱,就思考了一下,自己的学习方法是不是有问题。而我思考后发现,确实问题不小。
首先,数字逻辑这门课,我觉得我不很理解课程安排的用意。
课程安排是理论课、实验课双线进行的,一条线是数字逻辑理论,一条线是基于 Verilog 的设计实践。理论课,根据课程资源站公开的参考书,我觉得是大体上根据 Mano 的 Digital Design 这本书来走,但是基本上,围绕着逻辑设计、基础理论来。它对于如何在芯片上进行设计,如何去做一个安全可靠的设计,我觉得没有做详细的介绍,反而更像是介绍了你如何把一份具体的 Verilog 代码自己转化成电路,去做 IDE 的一个工作。而实验课则是每节课用 Verilog 实现一个非常简单的 Verilog 电路。然后期末大作业,是完成一个通过 UART 和按钮、数码管进行交互的矩阵运算系统。
我觉得理论课,可以让我学习类似于编译的,具体实现的一个过程,也可以让我学习一个正确的设计方法论,但是和期末大作业所需要的设计思路、设计细节关系不够大;实验课,可以让我实践设计,但是它实在是太简单了,也无法触及大作业所需要的,核心的内容。从课程到大作业的难度跨越非常大,同时,老师也没有预留充足的时间给我们来完成大作业。这要求我们快速地进行很大程度的自学。
我猜测老师的用意是让我们使用 AI 来辅助学习。AI 最近非常流行,最近一年来,在竞技编程里 AI 正处于一个初步持平甚至击败最好的人类选手的阶段。同时,AI Agent、Vibe Coding 的概念也开始流行。我也注意到这门课的老师曾和其他人讨论过 AI 辅助教学的前景。但是在数字逻辑这门课上,AI 的表现并不好。同时,我也不想其他人一样,那么会使用 AI 来完成任务。
于是我只能硬着头皮自己设计,但是自己设计,就会碰到很多障碍。其中的一些,我目前也没有弄清楚。
我反思了一下,发现问题的原因是:我根本没有见识过一个完整的、大型的设计该怎么去做。我仍然记得大一学习的计算机程序设计基础,虽然当时也是直接上手开发大作业,但是当时我们获得了一个大作业的骨架,里面有每一个功能实现的最佳实践,于是大作业的实践就变得简单了。
那么在数字逻辑上,我解决问题的办法就应该是自己去读书、看博客、找现成的项目去学习,去见识一个成功的项目是怎么完成的,去学习怎么样完成正确的设计细节。
在两三年前,我碰到问题,第一时间想到的一定是这个解决办法。而最近的一年,随着 AI 在各类问题中逐渐地进步,我也习惯了凡事问 AI 这个手段,反而因此没有办法去通过搜索,通过阅读一些没有那么相干的、绕弯子的内容来学习更多、更广泛的知识。
我认为有必要改正这一方面。同时,我也想我应该写一篇博客记录这一点,并重新养成写博客的习惯。如果能帮助到别人,肯定是很好的。哪怕没有帮到别人,也可以用来整理、反思自己的行动。实际上,在完成这篇博客的时候,我也遇到了很多问题,注意到了自己的思绪和表述的混乱。

浙公网安备 33010602011771号