最近写代码,调试过程中,踩了无数坑,摘取一些作为记录。
以备之后查看。
1.Task和function
不同点:
Task,只用来仿真调试,可以有延迟。
Function,可以综合成一堆组合电路,所以,不能加延迟。
相同点:
内部信号包括global和local都是static的,所以就算有初值,也必须每次用的时候,重新赋值。(这与C语言等高级语言不同,C等语言,内部变量,都不是static,每次都会重新赋值。)
2.task 接口信号是否需要加input,output,inout?
接口信号,如果需要返回调用,那么,task的输出信号,必须加output,而且output或者inout类型的接口信号,不能有初值。function可以用返回值。