欢迎来到天天文库
浏览记录
ID:48445418
大小:29.50 KB
页数:2页
时间:2020-01-30
《Verilog中条件编译命令 `ifdef、`else、`endif 用法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Verilog中条件编译命令`ifdef、`else、`endif用法一般情况下,VerilogHDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一组语句进行编译。条件编译命令的几种形式:(1)`ifdef宏名(标识符) 程序段1 `else 程序段2 `endif它的作用是当宏名已经被定义过(此处需要采用`define命令
2、定义),则对程序段1进行编译,程序段2将被忽略;否则编译程序段2,程序段1将被忽落。其中`else部分可以没有,即:(2)`ifdef宏名(标识符) 程序段1 `endif这里的“宏名”是一个VerilogHDL 的标识符,“程序段”可以是VerilogHDL语句组,也可以是命令行。这些命令可以出现在源程序的任何地方。注意:被忽略掉不进行编译的程序段部分也要符合VerilogHDL程序的语言规则。通常在VerilogHDL程序中用到`ifdef、`else、`endif编译命令的情况有以下几种: (1)
3、选择一个模板的不同代表部分。(2)选择不同的时许或结构信息。(3)对不同的EDA工具,选择不同的激励。 最常用的情况是:VerilogHDL代码中的一部分可能适用于某个编译环境,但不使用于另一个环境,如果设计者不想为两个环境创建两个不同版本的Verilog设计,还有一种方法就是所谓的条件编译,即设计者在代码中指定其中某一部分只有在设置了特定的标志后,这一段代码才能被编译,即设计者在代码中指定其中某一部分只有在设置了特定的标识后,这一段代码才能编译。 设计者也可能希望在程序的运行中,只有当设置了某个标志后,才能执行
4、Verilog设计的某些部分,这就是所谓的条件执行。 条件编译可以用编译指令`ifdef、`else、`elsif和`endif实现。 `ifdef和`ifndef指令可以出现在设计的任何地方。设计者可以有条件地编译语句、模块、语句块、声明和其他编译指令。`else指令时可选的。一个`else指令最多可以匹配一个`ifdef或者`ifndef。一个`ifdef或者`ifndef可以匹配任意数量的`elsif命令。`ifdef或`ifndef总是用相应的`endif来结束。 Verilog文件中,条件编译标志可以用`de
5、fine语句设置。如果没有设置条件编译标志,那么Verilog编译器会简单地跳过该部分。`ifdef语句中不允许使用布尔表带式,例如使用TEST&&ADD_B2来表示编译条件是不允许的。
此文档下载收益归作者所有