设为首页 加入收藏

TOP

重学Verilog(3)——参数化模块
2019-08-24 00:06:41 】 浏览:30
Tags:重学 Verilog 参数 模块

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;

重学Verilog(3)——参数化模块 https://www.cppentry.com/bencandy.php?fid=92&id=230554

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇FPGA设计千兆以太网MAC(2)——.. 下一篇Verilog 99题之001-009