Vivado常用IP例化1

Vivado常用IP例化1

  • 1 存储器类
    • 1.1 分布式RAM
    • 1.2 BRAM
    • 1.3 URAM
    • 1.4 FIFO
  • 2 接口互联类
    • 2.1 AXI互联接口
    • 2.2 AXIS互联接口
    • 2.3 接口转换

本文主要列举Vivado中一些常用IP的例化。

1 存储器类

1.1 分布式RAM

  • ROM
    trom trom_i (
      .clk (clk),
      .a   (addra_w[m]),
      .qspo(douta_w[m])
    );
    
  • 简单双端口RAM
    tram tram_real (
      .clk (clk),
      .we  (wea),
      .a   (addra_x),
      .d   (dina_xreal),
      .dpra(addrb_x),
      .qdpo(doutb_xreal)
    );
    
  • 真双端口RAM
    tram tram_real (
      .clk (clk),
      .we  (wea),
      .a   (addra_x),
      .d   (dina_xreal),
      .spo (douta_xreal),
      .dpra(addrb_x),
      .qdpo(doutb_xreal)
    );
    

1.2 BRAM

  • 简单双端口RAM
    bram_conv bram_conv_i (
      .clka (sclk),
      .wea  (wea_conv),
      .addra(addra),
      .dina (dout_load),
      .clkb (sclk),
      .addrb(addrb_conv),
      .doutb(din_coef)
    );
    
  • 真双端口RAM
    bram bram_i (
      .clka (sclk),
      .wea  (wea_fft),
      .addra(addra),
      .dina (dout_load),
      .douta(din_load),
      .clkb (sclk),
      .web  (web_turn),
      .addrb(addrb),
      .dinb (dout_turn),
      .doutb(din_fft)
    );
    
  • AXI端口RAM
    bram_init bram_init_i (
      .s_aclk       (sclk),
      .s_aresetn    (rst_n),
      .s_axi_awready(axi_fft_awready),
      .s_axi_awvalid(axi_fft_awvalid),
      .s_axi_awaddr (axi_fft_awaddr[31:0]),
      .s_axi_wready (axi_fft_wready),
      .s_axi_wvalid (axi_fft_wvalid),
      .s_axi_wdata  (axi_fft_wdata),
      .s_axi_wstrb  (axi_fft_wstrb),
      .s_axi_wlast  (axi_fft_wlast),
      .s_axi_bready (axi_fft_bready),
      .s_axi_bvalid (axi_fft_bvalid),
      .s_axi_bresp  (axi_fft_bresp),
      .s_axi_awlen  (axi_fft_awlen),
      .s_axi_awsize (axi_fft_awsize),
      .s_axi_awburst(axi_fft_awburst),
      .s_axi_awid   (4'd0),
      .s_axi_bid    (),
      .s_axi_arready(axi_fft_arready),
      .s_axi_arvalid(axi_fft_arvalid),
      .s_axi_araddr (axi_fft_araddr[31:0]),
      .s_axi_rready (axi_fft_rready),
      .s_axi_rvalid (axi_fft_rvalid),
      .s_axi_rdata  (axi_fft_rdata),
      .s_axi_rlast  (axi_fft_rlast),
      .s_axi_rresp  (axi_fft_rresp),
      .s_axi_arlen  (axi_fft_arlen),
      .s_axi_arsize (axi_fft_arsize),
      .s_axi_arburst(axi_fft_arburst),
      .s_axi_arid   (4'd0),
      .s_axi_rid    ()
    );
    

1.3 URAM

  • 简单双端口RAM
    xpm_memory_sdpram #(
      .ADDR_WIDTH_A           (ADDR_WIDTH),              
      .ADDR_WIDTH_B           (ADDR_WIDTH),              
      .AUTO_SLEEP_TIME        (0),           
      .BYTE_WRITE_WIDTH_A     (TDATA_BYTES_MM*8),       
      .CASCADE_HEIGHT         (0),            
      .CLOCKING_MODE          ("common_clock"),
      .ECC_MODE               ("no_ecc"),           
      .MEMORY_INIT_FILE       ("none"),     
      .MEMORY_INIT_PARAM      ("0"),       
      .MEMORY_OPTIMIZATION    ("true"),  
      .MEMORY_PRIMITIVE       ("ultra"),     
      .MEMORY_SIZE            (RAM_DEPTH*TDATA_BYTES_MM*8),            
      .MESSAGE_CONTROL        (0),           
      .READ_DATA_WIDTH_B      (TDATA_BYTES_MM*8),        
      .READ_LATENCY_B         (2),            
      .READ_RESET_VALUE_B     ("0"),      
      .RST_MODE_A             ("SYNC"),           
      .RST_MODE_B             ("SYNC"),           
      .SIM_ASSERT_CHK         (0),            
      .USE_EMBEDDED_CONSTRAINT(0),   
      .USE_MEM_INIT           (1),              
      .WAKEUP_TIME            ("disable_sleep"), 
      .WRITE_DATA_WIDTH_A     (TDATA_BYTES_MM*8),       
      .WRITE_MODE_B           ("read_first")     
      ) xpm_memory_sdpram_i (
      .clka          (sclk), 
      .wea           (wea_conv[i]),
      .ena           (1'b1),  
      .addra         (addra), 
      .dina          (dout_load[i][255:0]),
      .clkb          (sclk),
      .enb           (1'b1), 
      .addrb         (addrb_conv),  
      .doutb         (din_coef[i]), 
      .dbiterrb      (),                              
      .sbiterrb      (),            
      .injectdbiterra(1'b0), 
      .injectsbiterra(1'b0), 
      .regceb        (1'b1),
      .rstb          (1'b0),                    
      .sleep         (1'b0)  
    );
    
  • 真双端口RAM
    xpm_memory_tdpram #(
      .ADDR_WIDTH_A           (ADDR_WIDTH),              
      .ADDR_WIDTH_B           (ADDR_WIDTH),              
      .AUTO_SLEEP_TIME        (0),           
      .BYTE_WRITE_WIDTH_A     (TDATA_BYTES*8),       
      .BYTE_WRITE_WIDTH_B     (TDATA_BYTES*8),       
      .CASCADE_HEIGHT         (0),            
      .CLOCKING_MODE          ("common_clock"),
      .ECC_MODE               ("no_ecc"),           
      .MEMORY_INIT_FILE       ("none"),     
      .MEMORY_INIT_PARAM      ("0"),       
      .MEMORY_OPTIMIZATION    ("true"),  
      .MEMORY_PRIMITIVE       ("ultra"),     
      .MEMORY_SIZE            (RAM_DEPTH*TDATA_BYTES*8),            
      .MESSAGE_CONTROL        (0),           
      .READ_DATA_WIDTH_A      (TDATA_BYTES*8),        
      .READ_DATA_WIDTH_B      (TDATA_BYTES*8),        
      .READ_LATENCY_A         (4),            
      .READ_LATENCY_B         (4),            
      .READ_RESET_VALUE_A     ("0"),      
      .READ_RESET_VALUE_B     ("0"),      
      .RST_MODE_A             ("SYNC"),           
      .RST_MODE_B             ("SYNC"),           
      .SIM_ASSERT_CHK         (0),            
      .USE_EMBEDDED_CONSTRAINT(0),   
      .USE_MEM_INIT           (1),              
      .WAKEUP_TIME            ("disable_sleep"), 
      .WRITE_DATA_WIDTH_A     (TDATA_BYTES*8),       
      .WRITE_DATA_WIDTH_B     (TDATA_BYTES*8),       
      .WRITE_MODE_A           ("no_change"),    
      .WRITE_MODE_B           ("no_change")  
      ) xpm_memory_tdpram_i (
      .clka          (sclk), 
      .wea           (wea_fft[i]), 
      .ena           (1'b1),
      .addra         (addra),
      .dina          (dout_load[i]),  
      .douta         (din_load[i]),
      .clkb          (sclk), 
      .web           (web_turn[i]),
      .enb           (1'b1),
      .addrb         (addrb),  
      .dinb          (dout_turn[i]),  
      .doutb         (din_fft[i]),  
      .dbiterra      (),             
      .dbiterrb      (),             
      .sbiterra      (),       
      .sbiterrb      (),                
      .injectdbiterra(1'b0), 
      .injectdbiterrb(1'b0), 
      .injectsbiterra(1'b0), 
      .injectsbiterrb(1'b0), 
      .regcea        (1'b1),                 
      .regceb        (1'b1),                 
      .rsta          (1'b0),                     
      .rstb          (1'b0),                     
      .sleep         (1'b0)                                        
    );
    

1.4 FIFO

fifo_turn fifo_turn_i(
  .clk(sclk),
  .wr_en(done_cmpt),
  .din  (din_turn[m]),
  .full (),
  .rd_en(rd_en[m]),
  .dout (dout[m]),
  .empty()
);

2 接口互联类

2.1 AXI互联接口

wire    [NUM_GROUP-1:0] s_axi_awready;
wire    [NUM_GROUP-1:0] s_axi_awvalid;
wire   [AWIDTH_HBM-1:0] s_axi_awaddr  [NUM_GROUP-1:0];
wire              [1:0] s_axi_awburst [NUM_GROUP-1:0];
wire              [3:0] s_axi_awcache [NUM_GROUP-1:0];
wire              [7:0] s_axi_awlen   [NUM_GROUP-1:0];
wire              [2:0] s_axi_awsize  [NUM_GROUP-1:0];
wire    [NUM_GROUP-1:0] s_axi_wready;
wire    [NUM_GROUP-1:0] s_axi_wvalid;
wire [DWIDTH_HBM*8-1:0] s_axi_wdata   [NUM_GROUP-1:0];
wire   [DWIDTH_HBM-1:0] s_axi_wstrb   [NUM_GROUP-1:0];
wire    [NUM_GROUP-1:0] s_axi_wlast;
wire    [NUM_GROUP-1:0] s_axi_bready;
wire    [NUM_GROUP-1:0] s_axi_bvalid;
wire              [1:0] s_axi_bresp   [NUM_GROUP-1:0];
wire    [NUM_GROUP-1:0] s_axi_arready;
wire    [NUM_GROUP-1:0] s_axi_arvalid;
wire   [AWIDTH_HBM-1:0] s_axi_araddr  [NUM_GROUP-1:0];
wire              [1:0] s_axi_arburst [NUM_GROUP-1:0];
wire              [3:0] s_axi_arcache [NUM_GROUP-1:0];
wire              [7:0] s_axi_arlen   [NUM_GROUP-1:0];
wire              [2:0] s_axi_arsize  [NUM_GROUP-1:0];
wire    [NUM_GROUP-1:0] s_axi_rready;
wire    [NUM_GROUP-1:0] s_axi_rvalid;
wire [DWIDTH_HBM*8-1:0] s_axi_rdata   [NUM_GROUP-1:0];
wire    [NUM_GROUP-1:0] s_axi_rlast;
wire              [1:0] s_axi_rresp   [NUM_GROUP-1:0];

wire     [NUM_GROUP-1:0] m_axi_awready;
wire     [NUM_GROUP-1:0] m_axi_awvalid;
wire    [AWIDTH_HBM-1:0] m_axi_awaddr  [NUM_GROUP-1:0];
wire               [1:0] m_axi_awburst [NUM_GROUP-1:0];
wire               [3:0] m_axi_awcache [NUM_GROUP-1:0];
wire               [7:0] m_axi_awlen   [NUM_GROUP-1:0];
wire               [2:0] m_axi_awsize  [NUM_GROUP-1:0];
wire     [NUM_GROUP-1:0] m_axi_wready;
wire     [NUM_GROUP-1:0] m_axi_wvalid;
wire [DWIDTH_LOAD*8-1:0] m_axi_wdata   [NUM_GROUP-1:0];
wire   [DWIDTH_LOAD-1:0] m_axi_wstrb   [NUM_GROUP-1:0];
wire     [NUM_GROUP-1:0] m_axi_wlast;
wire     [NUM_GROUP-1:0] m_axi_bready;
wire     [NUM_GROUP-1:0] m_axi_bvalid;
wire               [1:0] m_axi_bresp   [NUM_GROUP-1:0];
wire     [NUM_GROUP-1:0] m_axi_arready;
wire     [NUM_GROUP-1:0] m_axi_arvalid;
wire    [AWIDTH_HBM-1:0] m_axi_araddr  [NUM_GROUP-1:0];
wire               [1:0] m_axi_arburst [NUM_GROUP-1:0];
wire               [3:0] m_axi_arcache [NUM_GROUP-1:0];
wire               [7:0] m_axi_arlen   [NUM_GROUP-1:0];
wire               [2:0] m_axi_arsize  [NUM_GROUP-1:0];
wire     [NUM_GROUP-1:0] m_axi_rready;
wire     [NUM_GROUP-1:0] m_axi_rvalid;
wire [DWIDTH_LOAD*8-1:0] m_axi_rdata   [NUM_GROUP-1:0];
wire     [NUM_GROUP-1:0] m_axi_rlast;
wire               [1:0] m_axi_rresp   [NUM_GROUP-1:0];

axi_itct axi_itct_i(
  .INTERCONNECT_ACLK   (sclk),
  .INTERCONNECT_ARESETN(rst_n),
  .S00_AXI_ACLK        (sclk),
  .S00_AXI_ARESET_OUT_N(),
  .M00_AXI_ACLK        (hbm_aclk),
  .M00_AXI_ARESET_OUT_N(),
  .S00_AXI_AWREADY     (m_axi_awready[m]),
  .S00_AXI_AWVALID     (m_axi_awvalid[m]),
  .S00_AXI_AWADDR      (m_axi_awaddr [m]),
  .S00_AXI_WREADY      (m_axi_wready [m]),
  .S00_AXI_WVALID      (m_axi_wvalid [m]),
  .S00_AXI_WDATA       (m_axi_wdata  [m]),
  .S00_AXI_WSTRB       (m_axi_wstrb  [m]),
  .S00_AXI_WLAST       (m_axi_wlast  [m]),
  .S00_AXI_BREADY      (m_axi_bready [m]),
  .S00_AXI_BVALID      (m_axi_bvalid [m]),
  .S00_AXI_BRESP       (m_axi_bresp  [m]),
  .S00_AXI_AWLEN       (m_axi_awlen  [m]),
  .S00_AXI_AWSIZE      (m_axi_awsize [m]),
  .S00_AXI_AWBURST     (m_axi_awburst[m]),
  .S00_AXI_AWCACHE     (m_axi_awcache[m]),
  .S00_AXI_ARREADY     (m_axi_arready[m]),
  .S00_AXI_ARVALID     (m_axi_arvalid[m]),
  .S00_AXI_ARADDR      (m_axi_araddr [m]),
  .S00_AXI_RREADY      (m_axi_rready [m]),
  .S00_AXI_RVALID      (m_axi_rvalid [m]),
  .S00_AXI_RDATA       (m_axi_rdata  [m]),
  .S00_AXI_RLAST       (m_axi_rlast  [m]),
  .S00_AXI_RRESP       (m_axi_rresp  [m]),
  .S00_AXI_ARLEN       (m_axi_arlen  [m]),
  .S00_AXI_ARSIZE      (m_axi_arsize [m]),
  .S00_AXI_ARBURST     (m_axi_arburst[m]),
  .S00_AXI_ARCACHE     (m_axi_arcache[m]),
  .S00_AXI_AWID        (1'b0),
  .S00_AXI_BID         (),
  .S00_AXI_AWLOCK      (1'b0),
  .S00_AXI_AWPROT      (3'd0),
  .S00_AXI_AWQOS       (4'd0),
  .S00_AXI_ARID        (1'b0),
  .S00_AXI_RID         (),
  .S00_AXI_ARLOCK      (1'b0),
  .S00_AXI_ARPROT      (3'd0),
  .S00_AXI_ARQOS       (4'd0),
  .M00_AXI_AWREADY     (s_axi_awready[m]),
  .M00_AXI_AWVALID     (s_axi_awvalid[m]),
  .M00_AXI_AWADDR      (s_axi_awaddr [m]),
  .M00_AXI_WREADY      (s_axi_wready [m]),
  .M00_AXI_WVALID      (s_axi_wvalid [m]),
  .M00_AXI_WDATA       (s_axi_wdata  [m]),
  .M00_AXI_WSTRB       (s_axi_wstrb  [m]),
  .M00_AXI_WLAST       (s_axi_wlast  [m]),
  .M00_AXI_BREADY      (s_axi_bready [m]),
  .M00_AXI_BVALID      (s_axi_bvalid [m]),
  .M00_AXI_BRESP       (s_axi_bresp  [m]),
  .M00_AXI_AWLEN       (s_axi_awlen  [m]),
  .M00_AXI_AWSIZE      (s_axi_awsize [m]),
  .M00_AXI_AWBURST     (s_axi_awburst[m]),
  .M00_AXI_AWCACHE     (s_axi_awcache[m]),
  .M00_AXI_ARREADY     (s_axi_arready[m]),
  .M00_AXI_ARVALID     (s_axi_arvalid[m]),
  .M00_AXI_ARADDR      (s_axi_araddr [m]),
  .M00_AXI_RREADY      (s_axi_rready [m]),
  .M00_AXI_RVALID      (s_axi_rvalid [m]),
  .M00_AXI_RDATA       (s_axi_rdata  [m]),
  .M00_AXI_RLAST       (s_axi_rlast  [m]),
  .M00_AXI_RRESP       (s_axi_rresp  [m]),
  .M00_AXI_ARLEN       (s_axi_arlen  [m]),
  .M00_AXI_ARSIZE      (s_axi_arsize [m]),
  .M00_AXI_ARBURST     (s_axi_arburst[m]),
  .M00_AXI_ARCACHE     (s_axi_arcache[m]),
  .M00_AXI_BID         (3'd0),
  .M00_AXI_AWLOCK      (),
  .M00_AXI_AWPROT      (),
  .M00_AXI_AWQOS       (),
  .M00_AXI_AWID        (),
  .M00_AXI_RID         (3'd0),
  .M00_AXI_ARLOCK      (),
  .M00_AXI_ARPROT      (),
  .M00_AXI_ARQOS       (),
  .M00_AXI_ARID        ()
);

2.2 AXIS互联接口

output                    cus_axis_tready,
input                     cus_axis_tvalid,
input  [DWIDTH_NET*8-1:0] cus_axis_tdata,
input    [DWIDTH_NET-1:0] cus_axis_tkeep,
input                     cus_axis_tlast,
input                     cum_axis_tready,
output                    cum_axis_tvalid,
output [DWIDTH_NET*8-1:0] cum_axis_tdata,
output   [DWIDTH_NET-1:0] cum_axis_tkeep,
output                    cum_axis_tlast
  
axis_interconnect_asyn axis_interconnect_rs (
  .ACLK   (cus_axis_aclk),
  .ARESETN(cus_axis_aresetn),
  .S00_DECODE_ERR     (),
  .S00_FIFO_DATA_COUNT(),
  .S00_AXIS_ACLK   (cus_axis_aclk),
  .S00_AXIS_ARESETN(cus_axis_aresetn),
  .S00_AXIS_TREADY (cus_axis_tready),
  .S00_AXIS_TVALID (cus_axis_tvalid),
  .S00_AXIS_TDATA  (cus_axis_tdata),
  .S00_AXIS_TKEEP  (cus_axis_tkeep),
  .S00_AXIS_TLAST  (cus_axis_tlast),
  .S00_AXIS_TDEST  (1'b1),
  .M00_AXIS_ACLK   (cus_axis_aclk),
  .M00_AXIS_ARESETN(cus_axis_aresetn),
  .M00_AXIS_TREADY (cum_axis_tready),
  .M00_AXIS_TVALID (cum_axis_tvalid),
  .M00_AXIS_TDATA  (cum_axis_tdata),
  .M00_AXIS_TKEEP  (cum_axis_tkeep),
  .M00_AXIS_TLAST  (cum_axis_tlast),
  .M00_AXIS_TDEST  (),
);

2.3 接口转换

wire                    s_axis_s2mm_cmd_tready;
wire                    s_axis_s2mm_cmd_tvalid;
wire  [CMD_BYTES*8-1:0] s_axis_s2mm_cmd_tdata;
wire                    m_axis_s2mm_sts_tready;	
wire                    m_axis_s2mm_sts_tvalid;	
wire              [7:0] m_axis_s2mm_sts_tdata;	
wire              [0:0] m_axis_s2mm_sts_tkeep;	
wire                    m_axis_s2mm_sts_tlast;	

wire                    s_axis_mm2s_cmd_tready;
wire                    s_axis_mm2s_cmd_tvalid;
wire  [CMD_BYTES*8-1:0] s_axis_mm2s_cmd_tdata;
wire                    m_axis_mm2s_sts_tready;
wire                    m_axis_mm2s_sts_tvalid;
wire              [7:0] m_axis_mm2s_sts_tdata;	
wire              [0:0] m_axis_mm2s_sts_tkeep;	
wire                    m_axis_mm2s_sts_tlast;

axi_datamover_rm axi_datamover_inst (
  .m_axi_s2mm_aclk           (xdma_axis_aclk),
  .m_axi_s2mm_aresetn        (xdma_axis_aresetn),
  .m_axis_s2mm_cmdsts_awclk  (xdma_axis_aclk),
  .m_axis_s2mm_cmdsts_aresetn(xdma_axis_aresetn),
  .s_axis_s2mm_tready        (s_axis_s2mm_tready),
  .s_axis_s2mm_tvalid        (s_axis_s2mm_tvalid),
  .s_axis_s2mm_tdata         (s_axis_s2mm_tdata),
  .s_axis_s2mm_tkeep         (s_axis_s2mm_tkeep),
  .s_axis_s2mm_tlast         (s_axis_s2mm_tlast),

  .m_axi_s2mm_awready        (m_axi_s2mm_awready),
  .m_axi_s2mm_awvalid        (m_axi_s2mm_awvalid),
  .m_axi_s2mm_awaddr         (m_axi_s2mm_awaddr),
  .m_axi_s2mm_wready         (m_axi_s2mm_wready),
  .m_axi_s2mm_wvalid         (m_axi_s2mm_wvalid),
  .m_axi_s2mm_wdata          (m_axi_s2mm_wdata),
  .m_axi_s2mm_wstrb          (m_axi_s2mm_wstrb),
  .m_axi_s2mm_wlast          (m_axi_s2mm_wlast),
  .m_axi_s2mm_bready         (m_axi_s2mm_bready),
  .m_axi_s2mm_bvalid         (m_axi_s2mm_bvalid),
  .m_axi_s2mm_bresp          (m_axi_s2mm_bresp),
  .m_axi_s2mm_awid           (m_axi_s2mm_awid),
  .m_axi_s2mm_awlen          (m_axi_s2mm_awlen),
  .m_axi_s2mm_awsize         (m_axi_s2mm_awsize),
  .m_axi_s2mm_awburst        (m_axi_s2mm_awburst),
  .m_axi_s2mm_awprot         (m_axi_s2mm_awprot),
  .m_axi_s2mm_awcache        (m_axi_s2mm_awcache),
  .m_axi_s2mm_awuser         (m_axi_s2mm_awuser),

  .s_axis_s2mm_cmd_tready    (s_axis_s2mm_cmd_tready),
  .s_axis_s2mm_cmd_tvalid    (s_axis_s2mm_cmd_tvalid),
  .s_axis_s2mm_cmd_tdata     (s_axis_s2mm_cmd_tdata),
  .m_axis_s2mm_sts_tready    (m_axis_s2mm_sts_tready),
  .m_axis_s2mm_sts_tvalid    (m_axis_s2mm_sts_tvalid),
  .m_axis_s2mm_sts_tdata     (m_axis_s2mm_sts_tdata),
  .m_axis_s2mm_sts_tkeep     (m_axis_s2mm_sts_tkeep),
  .m_axis_s2mm_sts_tlast     (m_axis_s2mm_sts_tlast),
  .s2mm_err			         (s2mm_err),  
  
  .m_axi_mm2s_aclk           (xdma_axis_aclk),
  .m_axi_mm2s_aresetn        (xdma_axis_aresetn),
  .m_axis_mm2s_cmdsts_aclk   (xdma_axis_aclk),
  .m_axis_mm2s_cmdsts_aresetn(xdma_axis_aresetn),

  .m_axi_mm2s_arready 	     (m_axi_mm2s_arready),
  .m_axi_mm2s_arvalid 	     (m_axi_mm2s_arvalid),
  .m_axi_mm2s_araddr  	     (m_axi_mm2s_araddr),
  .m_axi_mm2s_rready  	     (m_axi_mm2s_rready),
  .m_axi_mm2s_rvalid  	     (m_axi_mm2s_rvalid),
  .m_axi_mm2s_rdata   	     (m_axi_mm2s_rdata),
  .m_axi_mm2s_rlast   	     (m_axi_mm2s_rlast),
  .m_axi_mm2s_rresp   	     (m_axi_mm2s_rresp),
  .m_axi_mm2s_arid    	     (m_axi_mm2s_arid),
  .m_axi_mm2s_arlen   	     (m_axi_mm2s_arlen),
  .m_axi_mm2s_arsize  	     (m_axi_mm2s_arsize),
  .m_axi_mm2s_arburst 	     (m_axi_mm2s_arburst),
  .m_axi_mm2s_arprot  	     (m_axi_mm2s_arprot),
  .m_axi_mm2s_arcache 	     (m_axi_mm2s_arcache),
  .m_axi_mm2s_aruser  	     (m_axi_mm2s_aruser),

  .m_axis_mm2s_tready 	     (m_axis_mm2s_tready),
  .m_axis_mm2s_tvalid 	     (m_axis_mm2s_tvalid),
  .m_axis_mm2s_tdata  	     (m_axis_mm2s_tdata),
  .m_axis_mm2s_tkeep  	     (m_axis_mm2s_tkeep),
  .m_axis_mm2s_tlast  	     (m_axis_mm2s_tlast),

  .s_axis_mm2s_cmd_tready    (s_axis_mm2s_cmd_tready),
  .s_axis_mm2s_cmd_tvalid    (s_axis_mm2s_cmd_tvalid),
  .s_axis_mm2s_cmd_tdata     (s_axis_mm2s_cmd_tdata),
  .m_axis_mm2s_sts_tready    (m_axis_mm2s_sts_tready),
  .m_axis_mm2s_sts_tvalid    (m_axis_mm2s_sts_tvalid),
  .m_axis_mm2s_sts_tdata     (m_axis_mm2s_sts_tdata),
  .m_axis_mm2s_sts_tkeep     (m_axis_mm2s_sts_tkeep),
  .m_axis_mm2s_sts_tlast     (m_axis_mm2s_sts_tlast),
  .mm2s_err	                 (mm2s_err)
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/942807.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微积分复习笔记 Calculus Volume 2 - 5.2 | Infinite Series

5.2 Infinite Series - Calculus Volume 2 | OpenStax

鸿蒙系统文件管理基础服务的设计背景和设计目标

有一定经验的开发者通常对文件管理相关的api应用或者底层逻辑都比较熟悉,但是关于文件管理服务的设计背景和设计目标可能了解得不那么清楚,本文旨在分享文件管理服务的设计背景及目标,方便广大开发者更好地理解鸿蒙系统文件管理服务。 1 鸿蒙…

python学opencv读取图像(十四)BGR图像和HSV图像通道拆分

【1】引言 前序已经对BGR图像和HSV图像的转换进行了基本讨论,相关文章链接为: python学opencv|读取图像(十二)BGR图像转HSV图像-CSDN博客 python学opencv|读取图像(十三)BGR图像和HSV图像互相转换深入-C…

Linux运维常见命令

vi/vim快捷键使用 1)拷贝当前行 yy ,拷贝当前行向下的5行 5yy,并粘贴(输入p)。 2)删除当前行 dd ,删除当前行向下的5行5dd 3)在文件中查找某个单词 [命令行下 /关键字,回车查找 ,输入n就是查找下一个 ] 4)设置文件的行号&…

Python 自动化 打开网站 填表登陆 例子

图样 简价: 简要说明这个程序的功能: 1. **基本功能**: - 自动打开网站 - 自动填写登录信息(号、公司名称、密码) - 显示半透明状态窗口实时提示操作进度 2. **操作流程**: - 打开网站后自动…

STM32-笔记10-手写延时函数(SysTick)

1、什么是SysTick Systick,即滴答定时器,是内核中的一个特殊定时器,用于提供系统级的定时服务。该定时器是一个24位的倒计数定时器‌。它从设定的初值(即重载值)开始计数,每经过一个系统时钟周期&#xff0…

【ETCD】【实操篇(十五)】etcd集群成员管理:如何高效地添加、删除与更新节点

etcd 是一个高可用的分布式键值存储,广泛应用于存储服务发现、配置管理等场景。为了确保集群的稳定性和可扩展性,管理成员节点的添加、删除和更新变得尤为重要。本文将指导您如何在etcd集群中处理成员管理,帮助您高效地维护集群节点。 目录 …

反应力场的生成物、反应路径分析方法

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩! 主要专栏内容包括: †《LAMMPS小技巧》: ‾ \textbf…

GIT与github的链接(同步本地与远程仓库)

1.官网下载GIT Git - 安装 Git 2.GIT生成密钥 2.1 打开gitbash配置邮箱与用户名(非初次使用GIT跳过这一步) git config --global user.name "你的用户名" git config --global user.email "你的邮箱" 2.2 生成ssh密匙 1&#xff0…

从虚拟到现实:AI与AR/VR技术如何改变体验经济?

引言:体验经济的崛起 在当今消费环境中,产品与服务早已不再是市场竞争的唯一焦点,能够提供深刻感知和独特体验的品牌,往往更能赢得消费者的青睐。这种转变标志着体验经济的崛起。体验经济不仅仅是简单的买卖行为,而是通…

利用Python爬虫速卖通按关键字搜索AliExpress商品

在当今互联网时代,数据的价值不言而喻,尤其是在电子商务领域。对于从事市场研究、数据分析或者个人项目开发的人士来说,能够从电商平台如速卖通(AliExpress)获取商品数据是一项非常有用的技能。Python以其简洁明了的语…

qt QZipWriter详解

1、概述 QZipWriter是Qt框架中用于创建ZIP文件的类。它允许开发者将多个文件和目录压缩成一个ZIP文件,支持多种压缩算法,并且易于集成到现有的Qt项目中。通过QZipWriter,开发者可以轻松实现文件的压缩、管理压缩包中的文件等功能。 需要注意…

HarmonyOS NEXT 实战之元服务:静态案例效果---查看国内航班服务

背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1完整代码案例如下: Index代码 import { authen…

【Java】Jackson序列化案例分析

1.Jackson介绍 Jackson 是一个流行的 Java 库,用于处理 JSON 数据。它提供了高效的序列化和反序列化功能,能够将 Java 对象转换为 JSON 格式,反之亦然。 它由 FasterXML 开发和维护。Jackson 的设计目标是提供高效、灵活且易于使用的 JSON 处…

Java反射学习(2)(“反射“机制获取构造方法及内部信息(Constructor类))

目录 一、"Class"对象实例化的常见三种方式以及使用时机。 (1)源代码(编写)阶段——使用全限定类名.forName()。 (2)加载阶段——使用类名.class。 (3)运行阶段——使用对象.getClass()。 二、Ja…

洛谷 P1595 信封问题 C语言dp

题目描述 某人写了 n 封信和 n 个信封,如果所有的信都装错了信封。求所有信都装错信封共有多少种不同情况。 输入格式 一个信封数 n,保证 n≤20。 输出格式 一个整数,代表有多少种情况。 输入输出样例 输入 #1 2 输出 #1 1 输入 #2 3 输…

【LuaFramework】服务器模块相关知识

目录 一、客户端代码 二、本地服务器代码 三、解决服务器无法多次接收客户端消息问题 一、客户端代码 连接本地服务器127.0.0.1:2012端口(如何创本地服务器,放最后说),连接成功后会回调 协议号Connect是101,其他如下…

解决Ascend上vllm运行时出现urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]

背景 尝试使用vllm模型,脚本代码如下: from vllm import LLM, SamplingParamsprompts ["Hello, my name is","The president of the United States is","The capital of France is","The future of AI is", …

【卷积神经网络】常用评价指标总结

评估指标 概述 该评价指标适合分类任务与目标检测,主要用于评估模型的性能。该文章对相关指标进行总结,同时对输出的图片进行学习分析 混淆矩阵的组成 TP(True Positives,真正例):实际为正例,…

HarmonyOS NEXT 的技术发展和市场趋势:打造1+8+N的万物互联新世界

随着5G、AI、物联网等技术的飞速发展,全球智能设备和操作系统的竞争也日益激烈。在这一背景下,华为推出的HarmonyOS NEXT正逐渐成为智能设备生态中一个重要的参与者,其独特的18N战略布局以及跨设备、跨平台的互联互通理念,正在塑造…