首页/文章/ 详情

射频人学基带(11)--有误区不怕,等解决的时候,就发现自己又往前走了一小步

5小时前浏览0
   

   

动动手指,关注公 众号并加星标哦

(1)
上篇文章发表后,杨博在下面留言,指出了我理解上的错误。
当初学者在理解上有偏差的时候,有位先行者可以过来告诉说,嗨,这里有一点点需要纠正一下。
那是一件很幸福的事情,会比在一个泥潭里陷很久要好,因为这个偏差不及时纠正,也许会导致后面很多时序上面的不理解。
虽说,这些偏差对于有经验的人来说,可能会觉得这为啥会理解错误呢?但是对于初学者来说,确实是会有一些很小白的问题,但是这些小白问题解决之后,就能上一个台阶啦。
(2)
看到杨博的留言,我又回去看了一下课程的第五讲。
对着程序,改了一下程序中语句的时延,然后仿真看运行结果,帮助自己理解时序。
我把r_Data_valid_h的时延变化了一下,分别设置成延后1ns和超前1ns,以上是仿真结果。
程序中的语句,寄存器w_Scrambler_valid_h要在时钟上升沿且r_Data_valid_h为1的时候,变为1。
就如杨博所说:在时钟上升沿(或者下降沿)到来之前,触发器的输入端(D)已经提前准备好数据,就如程序中的1,待同一个时钟上升沿(或者下降沿)到来后(经过一个保持时间),数据出现在输出端(Q),就如程序中的w_Scrambler_valid_h变为高,以上过程出现在同一个时钟沿,也就是同一个时钟拍子,不会是前后两个拍子。
其中的iw_Data_valid_h是通过.iw_Data_valid_h(r_Data_valid_h)获得的,而r_Data_valid_h是在仿真程序中直接设置的,为输入信号,我现在理解,是不受制于时钟边沿的,不需要等到时钟上升沿来的时候,才采到数据。我之前想着,是r_Data_valid_h在一个时钟沿来的时候,才被采到,采到后又会有一点点的时延,所以只有在下一个时钟沿来的时候,r_Data_valid_h才会被判断成1,然后w_Scrambler_valid_h才会被置为1。

(3)
我把课程中解扰的程序也加进来,然后仿真结果是这样的。
然后有一个疑问,问了deepseek,看着回答还是懵懵懂懂的,所以就找杨博答疑解惑了一下。
然后今早起床,看到杨博发过来的答疑视频,算是搞明白了。不过,也有可能是我觉得搞明白了,但是我不知道我其实没明白
(3)
目前,我是这样理解的。
那个仿真结果中,虽然没有展现出器件的时延以及信号捕获所需要的建立时间和保持时间,但是其实在仿真的过程中是有考虑的。
也就是说,仿真结果是呈现给我们一种考虑了实际效应的理想的时序图。

来源:加油射频工程师
芯片
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-29
最近编辑:5小时前
加油射频工程师
分享所学知识
获赞 266粉丝 98文章 614课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈