博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
verilog 条件编译命令`ifdef、`else、`endif 的应用
阅读量:5050 次
发布时间:2019-06-12

本文共 750 字,大约阅读时间需要 2 分钟。

【摘自夏宇闻《verilog设计教程》】一般情况下,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编译命令的情况有以下几种: 
        •    选择一个模块的不同代表部分。 
        •    选择不同的时序或结构信息。 
        •    对不同的EDA工具,选择不同的激励。

        以下是实例:

        

        运行结果为:

        # wow is defined

        # nest_one is defined
        # nest_two is defined

        整个工程见附件。。。

        

转载自:http://www.eefocus.com/zhaochengshun/blog/13-12/300789_21a6e.html

转载于:https://www.cnblogs.com/chengqi521/p/6704401.html

你可能感兴趣的文章
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
绝对定位
查看>>
dpkg 删除 百度网盘 程序
查看>>
浏览器的DNS缓存查看和清除
查看>>
pytho logging
查看>>
c#英文大小写快捷键
查看>>
tpframe免费开源框架又一重大更新
查看>>
【4.1】Python中的序列分类
查看>>
ubuntu 移动文件
查看>>
Easy Mock
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
对Feature的操作插入添加删除
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>