初级会员 
  
	- 积分
 - 65
 
        - 金钱
 - 65 
 
       - 注册时间
 - 2018-11-23
 
      - 在线时间
 - 17 小时
 
 
 
 | 
 
1金钱 
如下面这个例子//////////////////////////////////////////////////////////////////////////////// 
 
module axidma_tcp_demo_wrapper 
(DDR_addr, 
 DDR_ba, 
 DDR_cas_n, 
 DDR_ck_n, 
 DDR_ck_p, 
 DDR_cke, 
 DDR_cs_n, 
 DDR_dm, 
 DDR_dq, 
 DDR_dqs_n, 
 DDR_dqs_p, 
 DDR_odt, 
 DDR_ras_n, 
 DDR_reset_n, 
 DDR_we_n, 
 FIXED_IO_ddr_vrn, 
 FIXED_IO_ddr_vrp, 
 FIXED_IO_mio, 
 FIXED_IO_ps_clk, 
 FIXED_IO_ps_porb, 
 FIXED_IO_ps_srstb, 
 ad_data, 
 ad_busy, 
 first_data, 
 ad_os, 
 ad_cs, 
 ad_rd, 
 ad_reset, 
 ad_convsta, 
 ad_convstb, 
 ad_range 
 ); 
inout [14:0]DDR_addr; 
inout [2:0]DDR_ba; 
inout DDR_cas_n; 
inout DDR_ck_n; 
inout DDR_ck_p; 
inout DDR_cke; 
inout DDR_cs_n; 
inout [3:0]DDR_dm; 
inout [31:0]DDR_dq; 
inout [3:0]DDR_dqs_n; 
inout [3:0]DDR_dqs_p; 
inout DDR_odt; 
inout DDR_ras_n; 
inout DDR_reset_n; 
inout DDR_we_n; 
 
inout FIXED_IO_ddr_vrn; 
inout FIXED_IO_ddr_vrp; 
inout [53:0]FIXED_IO_mio; 
inout FIXED_IO_ps_clk; 
inout FIXED_IO_ps_porb; 
inout FIXED_IO_ps_srstb; 
 
input [15:0]ad_data;            
input ad_busy;        
input first_data;          
output[2:0] ad_os;            
output ad_cs;              
output ad_rd;              
output ad_reset;            
output ad_convsta; 
output ad_convstb;          
output ad_range; 
 
 
 
 
wire [14:0]DDR_addr; 
wire [2:0]DDR_ba; 
wire DDR_cas_n; 
wire DDR_ck_n; 
wire DDR_ck_p; 
wire DDR_cke; 
wire DDR_cs_n; 
wire [3:0]DDR_dm; 
wire [31:0]DDR_dq; 
wire [3:0]DDR_dqs_n; 
wire [3:0]DDR_dqs_p; 
wire DDR_odt; 
wire DDR_ras_n; 
wire DDR_reset_n; 
wire DDR_we_n; 
wire FCLK_CLK1; 
wire FIXED_IO_ddr_vrn; 
wire FIXED_IO_ddr_vrp; 
wire [53:0]FIXED_IO_mio; 
wire FIXED_IO_ps_clk; 
wire FIXED_IO_ps_porb; 
wire FIXED_IO_ps_srstb; 
 
//////////////////////////////////////////////////////////////////////////////// 
1   module端口的信号没有   input和output参数,如:DDR_addr 
2    module端口中定义了的信号在参数列表,如:inout [14:0]DDR_addr; 
3   参数列表中又再次定义,如:wire [14:0]DDR_addr; 
 
     这三种该怎么理解呢,这样写的意义是什么呢 
//////////////////////////////////////////////////////////////////////////////// 
最后这些参数在例化模块的时候传给了子模块 
axidma_tcp_demo axidma_tcp_demo_i 
    (.DDR_addr(DDR_addr), 
     .DDR_ba(DDR_ba), 
     .DDR_cas_n(DDR_cas_n), 
     .DDR_ck_n(DDR_ck_n), 
     .DDR_ck_p(DDR_ck_p), 
     .DDR_cke(DDR_cke), 
     .DDR_cs_n(DDR_cs_n), 
     .DDR_dm(DDR_dm), 
     .DDR_dq(DDR_dq), 
     .DDR_dqs_n(DDR_dqs_n), 
     .DDR_dqs_p(DDR_dqs_p), 
     .DDR_odt(DDR_odt), 
     .DDR_ras_n(DDR_ras_n), 
     .DDR_reset_n(DDR_reset_n), 
     .DDR_we_n(DDR_we_n), 
     .FCLK_CLK1(FCLK_CLK1), 
     .FIXED_IO_ddr_vrn(FIXED_IO_ddr_vrn), 
     .FIXED_IO_ddr_vrp(FIXED_IO_ddr_vrp), 
     .FIXED_IO_mio(FIXED_IO_mio), 
     .FIXED_IO_ps_clk(FIXED_IO_ps_clk), 
     .FIXED_IO_ps_porb(FIXED_IO_ps_porb), 
     .FIXED_IO_ps_srstb(FIXED_IO_ps_srstb), 
     .gpio_rtl_tri_i(gpio_tri_i_0), 
     .gpio_rtl_tri_o(gpio_tri_o_0), 
     .gpio_rtl_tri_t(gpio_tri_t_0), 
         .s_axis_aclk(s_axis_aclk), 
     .s_axis_aresetn(s_axis_aresetn), 
     .S_AXIS_tdata(S_AXIS_tdata), 
     .S_AXIS_tkeep(S_AXIS_tkeep), 
     .S_AXIS_tlast(S_AXIS_tlast), 
     .S_AXIS_tready(S_AXIS_tready), 
     .S_AXIS_tvalid(S_AXIS_tvalid), 
     .peripheral_aresetn(peripheral_aresetn)); 
 
 
 
 
 
 |   
 
 
最佳答案
查看完整内容[请看2#楼] 
这个是Verilog早期版本的写法,module括号面只列出端口号,input和output在括号后面写;
两种写法都可以 
 
 
 
 
 
 
 |