重学Verilog(3)——参数化模块

1.parameter方法

首先有这样一个模块

1 module half_adder(co,sum,a,b);
2 output co,sum;
3 input a,b;
4 parameter and_delay = 2;
5 parameter xor_delay = 4;
6 and #and_delay u1(co,a,b);
7 xor #xor_delay u2(sum,a,b);
8 endmodule

1.1 defparam方法(Altera)

1 module top (...);
2 input....;
3 output....;
4 defparam u_halfadder.and_dealy = 10,u_halfadder.xor_dealy = 10;
5 half_adder u_halfadder(...);
6 endmodule

 

1.2 例化时代入(Xilinx)


module
top (...); input....; output....; half_adder #( 10 , 20) u_halfadder (...); endmodule

 

2.include方法

M95XXX_Parameters.v 参数定义文件

ref.https://www.cnblogs.com/undermyownmoon/p/7628731.html

`define MEM_ADDR_BITS       11              //memory address bits
`define PAGE_ADDR_BITS      6               //page address bits

M95xxx_Driver.v   驱动文件

`include "M95XXX_Parameters.v"
reg[`MEM_ADDR_BITS-1:0] memory_address;
reg[`PAGE_ADDR_BITS-1:0] page_address;

转载于:https://www.cnblogs.com/GenXGSS/p/9825792.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值