数字逻辑实验到底是数电实验还是数设实验(x

谁会愿意天天用一个课六个字的全名来叫它呢但是数字逻辑电路是数电数字逻辑设计是数设数字逻辑实验总不能是 /数[字逻]?实验?/但叫它数电实验或者数设实验好像都不太对

上课的时候也是老师一会儿一个如果你是数设的同学一会儿一个如果你没报上数设但想把数电学成数设这课也太乱了

我写游记都得把两个课放一起写课就不能合成一个吗

写了一会儿后发现还是得两个课分开写dbqwcl

这篇就是个游记具体学的内容如果我有时间的话会放在 DDPP 学习笔记没时间没时间写笔记 or 没时间学 DDPP 只能跟着上课的话大概就不会放上来了

某些人学都学不完了还有空写游记?

数字逻辑实验

sv 班的开设

DDPP5 讲的是 Verilog以后造机应该也是用 Verilog但数字逻辑实验似乎是 VHDL就像软工强迫我把技术栈全换一遍一样多学一门语言也可以称作技多不压身而且说到底我也还没学 Verilog但终究是有些难受的所以看到第一节课的课件上说可以选择报 SystemVerilog 小班我还是很开心的顿时感觉这个课科学了许多

优势对后续课程有帮助

劣势花时间费精力

课件上是这么写的但 Verilog 本身应该不会比 VHDL 费精力课程内容的区别是多了个内存实验我猜这个 warning 的主要意义在于这是个新开的课可能各种出锅要让大家做好心理准备同样是新开的 Rust 就非常科学起码完全自学人感觉很科学我似乎反而更希望课是新开的而且这个 sv 班似乎也是 tuna 群友当助教

但这个 sv 班的开设实在是有些坎坷说起来也有些冗长就折起来了

sv 班课程文档

本课程只有一学分!!

本课程只有一学分!!

开头第一句绷不住了

按钮详细功能

一般来说 admonition 经常是比较长的会折叠起来防止刷屏但在示波器的按钮详细功能一节被折叠的都是最短的那些比如

非常地理所当然但感觉这个事实莫名地很有意思而且把电源开关写出来再折起来就莫名喜感按一次打开 <details>再按一次关闭 <details>

git conflict

虽说是敏捷开发课程文档但这个 git conflict 也太

课程文档中出现了 git conflict 标记

把人忽悠进来之后

下面是两个课件的 diff虽然这个优势的意思实际上没变从 sv 班苛刻的开设条件基本上就能猜到没法随时退出但是

  • SystemVerilog
  • 为后续课程实验提供支撑
    • 增加内存实验其他实验不变
    • 课程成绩不与普通课堂区分评分标准比例与普通课堂一致
  • 优势对后续课程有帮助当前学期无
  • 劣势花时间费精力
  • 可随时退出

示波器实验

上学期物理实验用过示波器感到了这个课除了 学习 TeX 和 R 之外竟然还稍微有点用虽然也只有那么一点点用不知道和电子学基础相比哪个的一点点大一些

整个实验中卡壳最久的一步是从一坨绑得十分整齐的导线中抽出一根

与非门电路测试实验

预习的时候对着文档里的电路图和芯片引脚图把怎么接线怎么接地写清楚就很容易了

本来想半小时速通失败了感觉最大的问题还是抽不出导线

简单组合逻辑电路实验

上午十点半才开始预习两小时把 2 位全加器和补码减法器接好了在课上半个小时把原码减法器接好但是加上排队等待验收和收拾东西还是快 3 点才走

  • 三个运算器放在同一个电路里是非常容易的补码减法器就是全加器的基础上有几个东西要取反只要把一个开关和这些东西异或在一起就可以控制是否取反了原码是在补码的基础上进行转换用开关控制会稍微麻烦一些但如果是用两个数码管分别显示补码和原码就非常容易
  • 文档上给的补码转原码不知道为什么用了五个门实际上只要 F2=C2F1F2F_2' = \overline{\overline{C_2 F_1}} \oplus F_2 就好了一开始我还对着卡诺图发呆后来看了一眼真值表发现这个东西用人类智慧一下就化简出来了最后三合一的电路我只用了 8 个与非门和 9 个异或门就不需要用 16 pin 的模块了
  • 如果是分步骤模块接线比如先接全加器再改成减法器过程中需要改线在两根线叠在一起时最好是把模块内部的线放在下面外部连接的线放在上面这样的话修改和外部的连接时不用把两根线一起拔掉
  • 把接好的线带到实验室是有一定难度的可以先只接 6 个模块就能放进实验箱了课上接剩下的两个模块接上线之后体积会变大可以把用不到的模块留在寝室这节课上还发了 FPGA 模块为了能装下大家都上交了一些多余的模块我装得下而且本来就是把多余的放在寝室了就没上交但是这样一来我就长期有几个模块放不进实验箱了 🌚

如果你不知道怎么接线的话可以尝试对着下面这张图复刻

电路连接实物图

后来看到有同学上面的线统一朝上下面的线统一朝下就整齐一些

最后收拾东西的时候分三次发现地上掉了 5 根线除此之外前后两排也能看到好多根线不知道哪些是我的哪些是隔壁的哪些是上午的

还听到助教吐槽同学然后老师说这都是正常的现在我们去搞大模型就可以了不用在意数电

点亮数码管实验

本来想在寝室搞完直接去验收结果去搞智能体了

现场才开始做一直连不上芯片还以为是因为我用的 Arch 所以驱动有什么神秘问题到处查了半天最后问老师才知道是我 USB Type C 的线没插紧绷不住了它这个接口比一般的手机充电线要紧一些插上一次之后复现不出来了但在我印象中插上第一次之前不是紧一点而是紧 super 多插进去一半灯就亮了所以我还以为接好了后来想起来数设课上还提到过USB 为了支持热插拔电源接口比数据接口略长一些我看到的灯大概是电源线连上了的灯而数据线还没连上

最后速通彻底失败了还是第一次做到只剩几个人了才走

四位全加器实验

这次真的在寝室 1.5h 搞完直接去验收成功在上课之前验收完了但还是得听完课才能走

于是干脆写完了实验报告才走实际上只是把代码复制出来再截几张图不知道为什么没能在讲完课之前写完

计数器实验

这次有好几个人课前查助教表示我们太急了

之前感觉 DDPP 第五章学了几年都没学完但有点像当时 CS:APP 第三章学一周能顶上课讲好几周

串行密码锁实验

感觉 undefined behavior 非常多而且作为一个密码锁竟然能在没开锁时改密码非常神秘但它毕竟只是个小实验而不是数设

上课前同学聊到了游泳课老师一进来听到了说当年他有个同学因为游泳没过没能保研但是现在开公司过得比他爽绷不住了

听说助教因为昨晚答疑到太晚今天没吃早饭早八还一直搞到 11:30还蛮惨的下午助教是准点到的教室于是没能在课前查完但其实一讲完课就查也没差太多

老师你们是不是觉得提高要求就是必做的?明年干脆把提高要求取消了解决不了问题可以让问题消失

耳机线收纳测验

40min 速通了考试但考完上交实验箱收拾了半小时导线成了最后几个走的

真不懂线为啥要捆起来白费力气到时候抽出来也麻烦

数设

数设第二次课

这节课讲了一堆数电背后的模电原理而且还是 TTL 电路不是 DDPP5 放在第 14 章的 CMOS感觉完全没听懂只不过说到底这一节是物理课不是计算机课后面又说讲的大部分东西不考讲这些是为了补充一些数字电路发展的历史弥补思维上的跳跃

我是完全没听懂其他同学大概也是没完全听懂老师吐槽说现在我们培养方案里电路知识几乎为零数设要从头开始讲不像他们那时候本科上五年什么物理都学了本来我还在想为什么我们只能上四年甚至三年要学这么多东西结果老师说他五年修了双学位 600+ 学分而且学分是和现在一样的学时震撼全班

数设与数电

在软工课上被数电同学问了作业先是被问了没学清楚的后面又被问了数设没讲的内容没想到这么早就体验到了被数电同学问懵

关于 DDPP

其实我开学后有看一点 DDPP感觉还是比上课讲的科学许多比如说上课的时候去写软工了课后看一下 DDPP 会感觉比上课讲的易懂很多比中文教材易懂 super 多但没有从头到尾看全也没写笔记一方面是时间都被软工占了还有就是 DDPP 和上课讲的内容多少有一些差异要是学多了感觉会搞混

考前

我怕你们都考 100 分学校找我麻烦

实验做的最好的两个组直接 A+就算考试交白卷都还有拿 A+ 的机会

不要 15min 就做完了

考试

难度还好有一题的题意理解有点神秘但老师说只要能说得通都算对 🤔 考完大家都在吐槽一个考课件细节的填空题分不多幸好我是上午刚看的课件要是前一天看的估计就不会做了

第一次实验课

这次又在连上板子这一步出了问题又是线的问题但幸好不是没插好而是线真的坏了

成功把 VGA 显示的样例跑起来之后就开始啥都不懂但是魔改参数很难不想起小学第一次去上机器人课的时候也是这样

不能把板子带回寝室要在板子上调都得跑来东主楼稍微有点难顶

不要在实验室过夜绷不住了

折腾外设

background我们组想做的是腿部动作控制类似健身环的 Chrome 小恐龙

外设太难了下次让我选一定只用键盘

一开始先是排针没焊接接触非常不良几乎没有等到五一结束老师回学校了才焊老师帮忙焊了一个让我自己焊了剩下两个结果焊了三回 啊三回 才焊好yysy 要是能有一些电子垃圾用来练手的话还挺简单的但直接在生产环境上练习实在是有点可怕

然后是 USB 转 TTL 模块忘接地了毕竟它不用连电源于是就忘了

最后是纽扣电池电流太小带不动传感器和无线模块还是只能换成充电宝供电纽扣电池电池盒稳压模块通通白买了

说起来还挺简单的但要发现问题在哪真的好难一会儿怀疑模块烧了一会儿怀疑是面包板不行一会儿怀疑是线不行发现是带不动了还以为是电压没到 3.2V还得查各个模块的规格以及想到去查纽扣电池的规格

最后终于调通了试着绑在腿上跑跑跳跳看着凌乱的数据图还是决定放弃跑动的检测以及跳跃高度的计算只保留固定高度的跳以及下蹲有时间再说

连到板子上时还遇到一个神秘的坑Pmod 接口有编号为 1~12 的接口其中 561112 是电源和地123478910 分别是 IO0~IO7结果我以为 1 是 IO1调了半天绷不住了

来张图电源的四根线的颜色请不要在意

外设效果图

这个连接就非常不稳定跳几下就会松抚摸 一下这些线就又好了过段时间还得按一下充电宝开关之后再看怎么解决

UPD每次都要抚摸实在是太不乖了给它捆绑了一下就老实多了( 虽然这么开玩笑我其实挺讨厌捆绑的哪怕是二次元捆绑图也生理上就感到厌恶这是可以说的吗

外设绑胶带

UPD2刚绑上的时候还挺好的过了几天又寄了

UPD3最后还是焊上了永远不要相信没有焊上的连线

调教 VGA

时序好难调

Quartus 报的时序错误不要无视

时钟频率太高容易寄可以调低点

信号跨域要处理好

如果信号偏了两三个周期不用管它为什么会偏把它偏回来就行

尽量不要用组合逻辑输出可以加个 buffer

展示

最后一天改 slide 的时候一大半的时间花在了 p 这个图标好想用 StyleDrop

这是个 <iframe>可以翻页

视频

https://www.bilibili.com/video/av230053693