玩转赛灵思Zedboard开发板(5):基于AXI Lite总线的从设备IP设计
--------------------------------------------------------------
41 -- Naming Conventions:
42 -- active low signals: "*_n"
43 -- clock signals: "clk", "clk_div#", "clk_#x"
44 -- reset signals: "rst", "rst_n"
45 -- generics: "C_*"
46 -- user defined types: "*_TYPE"
47 -- state machine next state: "*_ns"
48 -- state machine current state: "*_cs"
49 -- combinatorial signals: "*_com"
50 -- pipelined or register delay signals: "*_d#"
51 -- counter signals: "*cnt*"
52 -- clock enable signals: "*_ce"
53 -- internal version of output port: "*_i"
54 -- device pins: "*_pin"
55 -- ports: "- Names begin with Uppercase"
56 -- processes: "*_PROCESS"
57 -- component instantiations: "I_<#|FUNC>"
58 ------------------------------------------------------------------------------
59
60 library ieee;
61 use ieee.std_logic_1164.all;
62 use ieee.std_logic_arith.all;
63 use ieee.std_logic_unsigned.all;
64
65 library proc_common_v3_00_a;
66 use proc_common_v3_00_a.proc_common_pkg.all;
67 use proc_common_v3_00_a.ipif_pkg.all;
68
69 library axi_lite_ipif_v1_01_a;
70 use axi_lite_ipif_v1_01_a.axi_lite_ipif;
71
72 ------------------------------------------------------------------------------
73 -- Entity section
74 ------------------------------------------------------------------------------
75 -- Definition of Generics:
76 -- C_S_AXI_DATA_WIDTH -- AXI4LITE slave: Data width
77 -- C_S_AXI_ADDR_WIDTH -- AXI4LITE slave: Address Width
78 -- C_S_AXI_MIN_SIZE -- AXI4LITE slave: Min Size
79 -- C_USE_WSTRB -- AXI4LITE slave: Write Strobe
80 -- C_DPHASE_TIMEOUT -- AXI4LITE slave: Data Phase Timeout
81 -- C_BASEADDR -- AXI4LITE slave: base address
82 -- C_HIGHADDR -- AXI4LITE slave: high address
83 -- C_FAMILY -- FPGA Family
84 -- C_NUM_REG -- Number of software accessible registers
85 -- C_NUM_MEM -- Number of address-ranges
86 -- C_SLV_AWIDTH -- Slave interface address bus width
87 -- C_SLV_DWIDTH -- Slave interface data bus width
88 --
89 -- Definition of Ports:
90 -- S_AXI_ACLK -- AXI4LITE slave: Clock
91 -- S_AXI_ARESETN -- AXI4LITE slave: Reset
92 -- S_AXI_AWADDR -- AXI4LITE slave: Write address
93 -- S_AXI_AWVALID -- AXI4LITE slave: Write address valid
94 -- S_AXI_WDATA -- AXI4LITE slave: Write data
95 -- S_AXI_WSTRB -- AXI4LITE slave: Write strobe
96 -- S_AXI_WVALID -- AXI4LITE slave: Write data valid
97 -- S_AXI_BREADY -- AXI4LITE slave: Response ready
98 -- S_AXI_ARADDR -- AXI4LITE slave: Read address
99 -- S_AXI_ARVALID -- AXI4LITE slave: Read address valid
100 -- S_AXI_RREADY -- AXI4LITE slave: Read data ready
101 -- S_AXI_ARREADY -- AXI4LITE slave: read addres ready
102 -- S_AXI_RDATA -- AXI4LITE slave: Read data
103 -- S_AXI_RRESP -- AXI4LITE slave: Read data response
104 -- S_AXI_RVALID -- AXI4LITE slave: Read data valid
105 -- S_AXI_WREADY -- AXI4LITE slave: Write data ready
106 -- S_AXI_BRESP -- AXI4LITE slave: Response
107 -- S_AXI_BVALID -- AXI4LITE slave: Resonse valid
108 -- S_AXI_AWREADY -- AXI4LITE slave: Wrte address ready
109 ------------------------------------------------------------------------------
110
111 entity my_axi_ip is
112 generic
113 (
114 -- ADD USER GENERICS BELOW THIS LINE ---------------
115 --USER generics added here
116 -- ADD USER GENERICS ABOVE THIS LINE ---------------
117
118 --