- 43
- 0
- 约 2页
- 2017-06-11 发布于北京
- 举报
Verilog中条件编译命令 `ifdef、`else、`endif 用法
一般情况下,Verilog HDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一组语句进行编译。
条件编译命令的几种形式:
(1)`ifdef宏名(标识符)
????????程序段1
?????? `else
??????? 程序段2
??????`endif
它的作用是当宏名已经被定义过(此处需要采用`define命令定义),则对程序段1进行编译,程序段2将被忽略;否则编译程序段2,程序段1将被忽落。其中`else部分可以没有,即:
(2)`ifdef宏名(标识符)
?????????程序段1
`endif
这里的“宏名”是一个Verilog HDL 的标识符,“程序段”可以是Verilog HDL语句组,也可以是命令行。这些命令可以出现在源程序的任何地方。
注意:被忽略掉不进行编译的程序段部分也要符合Verilog HDL程序的语言规则。
通常在Verilog HDL程序中用到`ifdef、`else、`endif编译命令的情况有以下几种:
?????? (1)选择一个模板的不同代表部分。
(2)选择不同的时许或结构信息。
(3)对不同的EDA工具,选择不同的激励。
?????
???? ?最常用的情况是:Verilog HDL代码中的一部分可能适用于某个编译环境,但不使用于另一个环境,如果设计者不想为两个环境创建两个不同版本的Verilog 设计,还有一种方法就是所谓的条件编译,即设计者在代码中指定其中某一部分只有在设置了特定的标志后,这一段代码才能被编译,即设计者在代码中指定其中某一部分只有在设置了特定的标识后,这一段代码才能编译。
设计者也可能希望在程序的运行中,只有当设置了某个标志后,才能执行Verilog 设计的某些部分,这就是所谓的条件执行。
条件编译可以用编译指令`ifdef、`else、`elsif和`endif实现。
`ifdef和`ifndef指令可以出现在设计的任何地方。设计者可以有条件地编译语句、模块、语句块、声明和其他编译指令。`else指令时可选的。一个`else指令最多可以匹配一个`ifdef或者`ifndef。一个`ifdef或者`ifndef可以匹配任意数量的`elsif命令。`ifdef或`ifndef总是用相应的`endif来结束。
??????Verilog文件中,条件编译标志可以用`define语句设置。如果没有设置条件编译标志,那么Verilog编译器会简单地跳过该部分。`ifdef语句中不允许使用布尔表带式,例如使用TEST ADD_B2来表示编译条件是不允许的。
您可能关注的文档
最近下载
- 内科住培基地工作汇报.pptx VIP
- 3.2.2 光合作用 课件生物学七年级下册(共30张PPT).pptx VIP
- 年产8000吨塑料颗粒项目环评环境影响报告表(新版环评).pdf VIP
- 山西省太原市2025-2026学年上学期期末八年级物理试卷及答案(含答案).pdf VIP
- 人教版高中物理选择性必修第三册期末复习全册知识点考点提纲.docx
- 2025年山东化工职业学院单招语文考试题库及答案解析.docx VIP
- 国外油藏描述及方案编制的启示.pptx VIP
- 精神科暴力行为防范与处理.pptx
- 2025年山东化工职业学院单招数学考试模拟试题及答案解析.docx VIP
- 2025-2026学年新教材高中生物期末综合检测卷新人教版必修1 .pdf VIP
原创力文档

文档评论(0)