昨天开始看杨博(见下面海报)课程的第五讲,昨晚看了一遍,晚上睡觉的时候,又稍稍回忆了一下,有非常好的催眠效果。看这讲的时候,对于我这个FPGA小白来说,难度还是挺大的。首先,语法完全不懂,虽然那个if else ,always,assign这些单词认识,也隐约知道这些个语句是个什么意思,但是具体是怎么个操作,为什么assign放在always外面,然后<=,是在always里面,是完全不知道的。这样的话,就只能指导这个程序大概在干嘛,但是是没法了解程序是怎么干的。像这种凌乱不堪,完全没有条理的问题,肯定是不敢去打扰老师的,虽说老师说了,他会保驾护航。那怎么办呢?放在以前,肯定就卡壳了。但是现在完全不用怕的啊,有AI啊!我也不用担心把AI问烦了,也不用害怕语句组织的不好耽误AI时间。我把PPT中有疑惑的点,老师话语中不懂的点,都记录下来,一个个地问AI。在我问完AI,已经了解大概,但是还有一些没找到答案的问题的时候,我就会去找有经验的老师去答疑了。比如上次有个QPSK的问题,当时问了各个AI,还是没能解除我的疑惑,然后就去问了一下杨博。后来,杨博就把对这个问题的解答,录制成了一个答疑视频。通过一顿和AI交流,我对这个程序中的语法和运行逻辑有那么一点点的概念了(以下都是基于deepseek的回答给出的描述,若有误的话,欢迎留言探讨。)知道了,程序中的assign和always,分别称为组合逻辑和时序逻辑。组合逻辑是立即更新,表达式右侧的信号发生变化,左侧会立马更新;而<=用于时序逻辑,只在always块中使用。然后always块里的代码,在时钟上升沿的瞬间,开始执行,此时<=右侧的表达式是基于当前寄存器的值。在时钟上升沿之后的一个极小仿真单位内,<=左侧的寄存器会统一更新为右侧的新值。据deepseek说,里面的代码都是并行执行,和写的顺序没有关系,这点确实和以前的软件层面的认知有很大不同。在了解这些FPGA语法的背景知识后,再回去看那段小程序,明显感觉熟悉多了。争取再熟悉熟悉,可以自己根据理解,能把那段程序复现出来
。
射频系统(37本),芯片书籍(12本),运放设计视频等资料,扫码自取
完结接收机课程吆喝处哈(已在平台上购买的同学,加我微信,领课件资料哈!)
想报名的同学,可以海报底部扫码哈!
☜左右滑动查看更多
Slide for more photos