初学verilog语言(二)

二、程序框架

1.注释

与C语言注释写法类似,不做赘述。

2.关键字

常用关键字如下:

3.程序框架

(1)模块的结构

Verilog的基本设计单元是‘模块’(Block)。

一个模块是由两部分组成的,一部分描述接口,另一部分描述功能。

例如:verilog语言

module block(a,b,c,d);
    input      a,b;
    output     c,d;

assign c = a|b;
assign d = a&b;

endmodule

其中block为变量名,(a,b,c,d)为端口定义,input和output为IO说明,assign为功能定义,有些代码还有内部信号声明。

(2)模块的调用

在模块调用时,信号通过模块端口在模块之间传递。

模块间调用首先例化模块,通过重新命名(通常使用u_xxx)模块名,再使用.clk()的方式将模块中定义的clk端口与xxx(顶层模块端口)对应连接(注意输入端口和输出端口对应,对应位宽也应一致)。其中,输出端只能连接wire类型。

第二种方式中调用模块端口名(sys.clk等)必须按被调用模块端口端口名(module中的顺序)顺序连接不可改变顺序。

#后的.MAX_NUM不为端口表示,为参数传递(将被调用模块中的50000_000用25000_000代替,传递完的值依然为25000_000)。

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值