Verilog中的条件编译
【博客首发于微信公众号《漫谈芯片与编程》,欢迎专注一下,多谢大家】
1 条件编译
Verilog语法之条件编译指令如下,常常搭配`include来使用;
`ifndef
`ifdef
`elsif
`else
`endif
条件编译是根据不同的条件包含或排除代码块。在设计文件中根据条件选择性地将指定部分综合为电路,而未被指定部分则不综合成电路,这可以有效地减少电路面积和提高代码的复用性和灵活性。
这在处理不同平台、调试信息、版本控制等方面非常有用;
1.1 典型用法
1.1.1 防止编译文件重复
在某一个文件开通,为了防止编译文件重复;
`ifndef __XXX__SV
`define __XXX__SV
`endif
1.1.2 公共宏参数
`ifndef __XXX_PARA__SV
`define __XXX_PARA__SV
//----paramter
`define XX_FIFO_DEPTH 32
`defien XX_FIFO_WIDHT 4
`endif
1.1.3 选择宏定义
`ifdef MCU51
parameter DATA_DW = 8 ;
`elsif WINDOW
parameter DATA_DW = 64 ;
`else
parameter DATA_DW = 32 ;
`endif
1.1.4 设计宏选择
比如开发一个模块,要求实现功能两个4bit输入的与、或、异或运算,但这三种运算不需要同时满足,也就是说在该模块的某次使用中或被调用中可能是使用或运算,也可能是使用与运算。


1673

被折叠的 条评论
为什么被折叠?



