xjdvuvwn 发表于 2022-1-7 13:20:45

verilog语法,顶层模块参数列表没有input和output关键字

如下面这个例子////////////////////////////////////////////////////////////////////////////////

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 DDR_addr;
inout DDR_ba;
inout DDR_cas_n;
inout DDR_ck_n;
inout DDR_ck_p;
inout DDR_cke;
inout DDR_cs_n;
inout DDR_dm;
inout DDR_dq;
inout DDR_dqs_n;
inout 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 FIXED_IO_mio;
inout FIXED_IO_ps_clk;
inout FIXED_IO_ps_porb;
inout FIXED_IO_ps_srstb;

input ad_data;         
input ad_busy;      
input first_data;         
output ad_os;         
output ad_cs;            
output ad_rd;            
output ad_reset;         
output ad_convsta;
output ad_convstb;         
output ad_range;




wire DDR_addr;
wire DDR_ba;
wire DDR_cas_n;
wire DDR_ck_n;
wire DDR_ck_p;
wire DDR_cke;
wire DDR_cs_n;
wire DDR_dm;
wire DDR_dq;
wire DDR_dqs_n;
wire 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 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 DDR_addr;
3   参数列表中又再次定义,如:wire 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));

fiwhpfnc 发表于 2022-11-1 16:00:00

页: [1]
查看完整版本: verilog语法,顶层模块参数列表没有input和output关键字