verilog语言中条件编译ifdef的使用和例子

本文介绍了Verilog中条件编译的ifdef语句、parameter在模块间的跨模块传输策略,以及模块和端口的作用,包括顶层模块与子模块的连接和数据交互。
摘要由CSDN通过智能技术生成

1条件编译ifdef

如果ifdef后面的参数被编译过,则编译ifdef语句后的内容,忽略else后面的内容,如果ifdef后面的参数没有被编译过,则编译else语句后面的内容,条件编译的范围以ifdef开始,以endif结束,else部分可以没有。

`ifdef参数名
         内容

·else
         内容

`endif

2 parameter之间的跨模块传输

parameter 在一个模块中的复制方式有两种,一个是在一个module的端口申明之后,一个时module的端口声明之前

//在module的端口申明之前进行parameter定义

module [模块名] #(【参数定义】)

(【端口列表】);

[参数定义] ;

[逻辑功能] ;

endmodule 

//在module的端口声明之后进行parameter定义
module 【模块名】 (【端口列表】) ;

【参数定义】;
【逻辑功能】;

endmodule

如果希望parameter赋值能在模块之间进行传递,即parameter值从上层模块传递到例化的下层模块,则通常建议在下层模块的端口申明之前进行parameter定义。

上层模块的优先级是高于下层模块。

3模块和端口

module是verilog基本的较高层级的描述单位,后面的内容用来描述某个设计的功能或者结构及其与其他模块通信之间的外部端口。

模块之间通过例化instantiation来实现数据之间的交互。多个模块使得设计具有一定的层级结构,处于最上层的模块称之为顶层模块(top-level module)顶层模块引出的端口将会连接到FPGA器件的物理管脚上面,即连接到FPGA的外部芯片。其他的模块将直接或者间接地与(顶层模块)实现相连接,实现数据的交互。下层模块通常称之为子模块(sub module ) ;

4端口port

端口port用于设计模块对外接口信号的描述,不同模块之间通过PORT的连接定义数据交互。整个设计工程顶层模块之间通过port定义的FPGA器件与外部芯片的接口信号。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值