module modbus_ip_v1_0 #
(
// Users to add parameters here
// User parameters ends
// Do not modify the parameters beyond this line
// Parameters of Axi Slave Bus Interface S00_AXI
parameter integer C_S00_AXI_DATA_WIDTH = 32,
parameter integer C_S00_AXI_ADDR_WIDTH = 10,
// Parameters of Axi Slave Bus Interface S_AXI_INTR
parameter integer C_S_AXI_INTR_DATA_WIDTH = 32,
parameter integer C_S_AXI_INTR_ADDR_WIDTH = 5,
parameter integer C_NUM_OF_INTR = 1,
parameter C_INTR_SENSITIVITY = 32'hFFFFFFFF,
parameter C_INTR_ACTIVE_STATE = 32'hFFFFFFFF,
parameter integer C_IRQ_SENSITIVITY = 1,
parameter integer C_IRQ_ACTIVE_STATE = 1
)
(
// Users to add ports here
// User ports ends
// Do not modify the ports beyond this line
// Ports of Axi Slave Bus Interface S00_AXI
input wire s00_axi_aclk,
input wire s00_axi_aresetn,
input wire [C_S00_AXI_ADDR_WIDTH-1 : 0] s00_axi_awaddr,
input wire [2 : 0] s00_axi_awprot,
input wire s00_axi_awvalid,
output wire s00_axi_awready,
input wire [C_S00_AXI_DATA_WIDTH-1 : 0] s00_axi_wdata,
input wire [(C_S00_AXI_DATA_WIDTH/8)-1 : 0] s00_axi_wstrb,
input wire s00_axi_wvalid,
output wire s00_axi_wready,
output wire [1 : 0] s00_axi_bresp,
output wire s00_axi_bvalid,
input wire s00_axi_bready,
input wire [C_S00_AXI_ADDR_WIDTH-1 : 0] s00_axi_araddr,
input wire [2 : 0] s00_axi_arprot,
input wire s00_axi_arvalid,
output wire s00_axi_arready,
output wire [C_S00_AXI_DATA_WIDTH-1 : 0] s00_axi_rdata,
output wire [1 : 0] s00_axi_rresp,
output wire s00_axi_rvalid,
input wire s00_axi_rready,
);
// Instantiation of Axi Bus Interface S00_AXI
modbus_ip modbus_ip(
.S_AXI_ACLK(s00_axi_aclk),
.S_AXI_ARESETN(s00_axi_aresetn),
.s00_axi_awaddr(s00_axi_awaddr),//写地址
.s00_axi_awprot(s00_axi_awprot),//写通道保护类型。这个信号表示该事务的特权和安全级别,并确定是否该事务是一个数据存取或指令的访问
.s00_axi_awvalid(s00_axi_awvalid),//写地址有效。这个信号表示该主信令有效的写地址和控制信息
.s00_axi_awready(s00_axi_awready),//写地址准备好了。该信号指示从器件准备好接受一个地址和相关联的控制信号
.s00_axi_wdata(s00_axi_wdata),//写数据
.s00_axi_wstrb(s00_axi_wstrb),//写选通。这个信号表明该字节通道持有效数据。每一bit对应 WDATA一个字节
.s00_axi_wvalid
(s00_axi_wvalid
),//写有效。这个信号表示有效的写数据和选
通信号都可用
.s00_axi_wready(s00_axi_wready),//写准备好了。该信号指示从器件可以接受写数据
.s00_axi_bresp(s00_axi_bresp),//写响应。这个信号表示写事务处理的状态
.s00_axi_bvalid(s00_axi_bvalid),//写响应有效。此信号表明写命令的有效写入响应
.s00_axi_bready(s00_axi_bready),//响应准备。该信号指示在主主机可以接受一个响应信号
.s00_axi_araddr(s00_axi_araddr),//读地址
.s00_axi_arprot(s00_axi_arprot),//保护类型。这个信号表示该事务的特权和安全级别,并确定是否该事务是一个数据存取或指令的访问
.s00_axi_arvalid(s00_axi_arvalid),//读地址有效。此信号表明该信道此时能有效读出地址和控制信息
.s00_axi_arready(s00_axi_arready),//读地址准备好了。该信号指示从器件准备好接受一个地址和相关联的控制信号
.s00_axi_rdata(s00_axi_rdata),//读数据
.s00_axi_rresp(s00_axi_rresp),//读取响应。这个信号表明读事务处理的状态
.s00_axi_rvalid(s00_axi_rvalid),//读数据有效。此信号表明该信道此时能有效读出数据
.s00_axi_rready(s00_axi_rready),//读数据准备好了。该信号指示从器件准备好接收数据
.CPU_IRQ(),
.Rs232_Tx(Rs232_Tx),
.Rs232_Rx(Rs232_Rx),
.Rs232_Dir(Rs232_Dir)
);
endmodule