1.在顶层调用模块时,中间变量未定义,导致最后效果不对(quartus不报错)
2.在原有工程上面进行改动时建议新建工程添加文件。直接赋值粘贴下载时需要将工程sof文件添加到待下载区。
3.定义变量时注意位宽,位宽不正确可能出现输出不定态。
4.最后不要对已经仿真或者上板成功的模块进行逻辑修改。
5.实现功能较多时尽量考虑使用状态机,在合适状态下进行功能实现。
6.做数码管掩码时注意,mask不要直接修改位选值进行输出,可以通过sel暂存,seg_sel=sel|mask。(直接修改位选会导致所有数码管熄灭)
7.注意移位操作,移位的时候注意位宽变化,左移会导致位宽增加。
8.书写状态机时,default语句一定要写全(为空会产生意想不到的情况)。
这里为空时,状态机不够健壮,状态很可能跳转到非法 状态,导致效果跑飞。
写串口发送模块进行验证的时候发现,助手不断接受数据,且不符合预期值,最终发现是由于状态机进入非法状态。(图中0h)