//但是如果这样,项目比较复杂时,容易混淆WORD_WIDTH的值,不建议这样使用,可以声明成两个不同名称的参数来处理这种情况。 4.parameter与`define 使用的区别: 如在文件sram_control.v中,定义有: `define ADDR_WIDTH 12 `define DATA_WIDTH 32 module example2(clk,rst,addr_in,data_in,data_out); input [`DATA_WIDTH-1:0] data_in; input [`ADDR_WIDTH -1:0] addr_in; output [`DATA_WIDTH-1:0] data_out; wire [`DATA_WIDTH-1:0] data_in; wire [`ADDR_WIDTH -1:0] addr_in; reg [`DATA_WIDTH-1:0] data_out; parameter MEMORY_DEPTH = 1024; . . . endmodule 或在文件cpu_param.v中定义: `define ADDR_WIDTH 12 `define DATA_WIDTH 32 然后在文件sram_control.v中如下使用: `include cpu_param.v module example2(clk,rst,addr_in,data_in,data_out); input [` DATA_WIDTH-1:0] data_in; input [` ADDR_WIDTH -1:0] addr_in; output [` DATA_WIDTH-1:0] data_out;
wire [` DATA_WIDTH-1:0] data_in; wire [` ADDR_WIDTH -1:0] addr_in; reg [` DATA_WIDTH-1:0] data_out; parameter MEMORY_DEPTH = 1024; . . . endmodule |
|关于本站|小黑屋|Archiver|手机版|无线电爱好网
( 粤ICP备14010847号 )
GMT+8, 2014-5-23 12:47 , Processed in 0.107148 second(s), 27 queries .
Powered by Discuz! X3.1 Licensed
© 2001-2013 Comsenz Inc.