2022.5.24感谢华为树枝江哥的指导,记录在此,作为接下来的准则。
1,if后和always块都要用begin end。
2,输出的信号一般用reg,就是寄存器打一拍,这样给其他模块,降低组合逻辑,时序会好很多
3,default不要写x态,不确定,让他会到idle状态就好了,状态机保证异常条件下不会挂死,能跳出异常回到idle既可
4,default信号名错了,组合逻辑是用阻塞写法=,时序逻辑用非阻塞赋值<=
5,定义一个信号定义一行,不要写一齐
6,代码尽量对齐
7,这种inital task function都是仿真的,逻辑代码不要出现,你代码想要信号有初始值,把他写在复位的分支里面就可以
8,一个alway块里面放一个信号就好,不然很容易出错,代码可读信差,conut一个always,clk2r一个always,然后把clk2r放在复位的分支里,就有初始值了
9,default,是去操作你always块的信号的,不用去操作你case的条件的
——————————————————————————————————————————
目的:每瓶饮料1.5元,一次只能投入一个硬币,可投入0.5与1.0两种硬币,具有找零功能。
方案:用状态机做,将可能出现的情况罗列一下,设置为idle和A~D
0元
0.5元,不出饮料,不找零;