带参数的宏定义的一种用法
1 丶应用场景: 当我们 interface 中有几组信号的驱动或采样方式相同时,我们可以把 interface 中的信号作为参数来声明宏定义,将这些相同的操作以带参数的宏定义方式抽象出来。 2 丶举例: 前段时间写 axi master bfm 时,axi 有 5 个通道,每个通道都有一个握手机制;当 a 信号拉高后,进入等待握手状态,开启一个无…
学会打包思想,善用结构体
最近在做项目的时候,发现自己写的代码不是很好,一个 function 或者 task 要好几百行, 主要原因就是,在写代码的时候,想到哪就写到哪,用到之前哪写过的代码就直接粘过来用, 以前还没有什么感觉,甚至觉得这样做还有好处, 想想将一部分代码封装成 function 或者 task,如果抽象程度很高,立意不是很明确,在环境里面调来调去,很容易发…