【上机】P1

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【上机】P1脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

再次体验大心脏

T1 奇偶校验

for循环数1的个数判断奇偶/异或缩减运算符判断奇偶,然后根据check的奇偶要求调整最高位

bug1

!注意优先级:位运算 低于 比较运算。

cnt & 1 == 0       //恒为0
(cnt & 1) == 0     //cnt偶数时为1

 

属于是灯下黑了,调试了半天人急疯了。最后用$display()一段一段分析代码行为才定位问题行,然后又想了会儿才发觉是优先级的问题

T2 心情状态机

极简状态机(只是设置好像不和常理让人读题时怕读漏),存在时序导向的状态转移(若n个时钟周期未被x输入信号打断则转至另一状态,类此,用cnt计数)

bug1

cnt计数时被输入信号打断而跳转,此时需要将cnt清零。写if时很容易只考虑cnt达标跳转时的清零。

if(sign == IDEA) begin
    state <= `BUSY;
    cnt <= 0; //此处容易漏
end else begin
    cnt <= cnt + 1;
    //...
end

bug2

always块中,应时刻牢记非阻塞赋值特性对计数器的影响。当计数器变化后立即判断数量时,应滞后一个周期。

cnt <= cnt + 1;
if(cnt == TARGET - 1)  //Expression

 

两道题交叉debug,终于花了1h40min完成了看上去只需要20min的题目,又是窝囊的一次上机

T3 方程检测

拍了题,只能课下做了

脚本宝典总结

以上是脚本宝典为你收集整理的【上机】P1全部内容,希望文章能够帮你解决【上机】P1所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: