Verilog中条件编译命令 `ifdef、`else、`endif 用法之1
来源:互联网 发布:圣诞快乐劳伦斯 知乎 编辑:程序博客网 时间:2024/06/08 14:50
一般情况下,Verilog HDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一组语句进行编译。
条件编译命令的几种形式:
注意:被忽略掉不进行编译的程序段部分也要符合Verilog HDL程序的语言规则。
通常在Verilog HDL程序中用到`ifdef、`else、`endif编译命令的情况有以下几种:
最常用的情况是: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来表示编译条件是不允许的。
- Verilog中条件编译命令 `ifdef、`else、`endif 用法之1
- 预处理命令之条件编译(#ifdef,#else,#endif,#if)
- #if和#ifdef使用问题&预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- 预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- 预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#error,#endif,#if...)
- C语言和c++预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- Objective--C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- 预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- Objective--C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- fastjson把对象转化成json避免$ref
- NYOJ 73 比大小
- mongodb数据迁移命令
- tomcat中三种部署项目的方法
- 安装完 MySQL 后必须调整的 10 项配置
- Verilog中条件编译命令 `ifdef、`else、`endif 用法之1
- js去掉前后空格
- Ubuntu下配置samba实现文件夹共享
- Android目录Frameworks下base/libs/ui/EventHub.cpp中加键盘布局文件名称的注释
- Java实现Redis持久化到数据库的关键方法
- 游戏服务器之主动连接线程池
- 初学phonegap---mac Xcode5.0 下helloworld
- 安卓开发经典实例收藏
- SecureCRT中文显示乱码