⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_ip.vhd

📁 关于xilinx大学计划培训教程3的实例代码
💻 VHD
📖 第 1 页 / 共 2 页
字号:
  -- 5 = include OPB-In and OPB-Out pipeline registers  -- 6 = include IP and OPB-Out pipeline registers  -- 7 = include OPB-In, IP, and OPB-Out pipeline registers  -- Note:  -- only mode 4, 5, 7 are supported for this release  ------------------------------------------  constant PIPELINE_MODEL                 : integer              := 5;  ------------------------------------------  -- Constant: user core ID code  ------------------------------------------  constant DEV_BLK_ID                     : integer              := 0;  ------------------------------------------  -- Constant: enable MIR/Reset register  ------------------------------------------  constant DEV_MIR_ENABLE                 : integer              := 0;  ------------------------------------------  -- Constant: array of IP interrupt mode  -- 1 = Active-high interrupt condition  -- 2 = Active-low interrupt condition  -- 3 = Active-high pulse interrupt event  -- 4 = Active-low pulse interrupt event  -- 5 = Positive-edge interrupt event  -- 6 = Negative-edge interrupt event  ------------------------------------------  constant IP_INTR_MODE_ARRAY             : INTEGER_ARRAY_TYPE   :=     (      0  => 0  -- not used    );  ------------------------------------------  -- Constant: enable device burst  ------------------------------------------  constant DEV_BURST_ENABLE               : integer              := 0;  ------------------------------------------  -- Constant: include address counter for burst transfers  ------------------------------------------  constant INCLUDE_ADDR_CNTR              : integer              := 0;  ------------------------------------------  -- Constant: include write buffer that decouples OPB and IPIC write transactions  ------------------------------------------  constant INCLUDE_WR_BUF                 : integer              := 0;  ------------------------------------------  -- Constant: index for CS/CE  ------------------------------------------  constant USER00_CS_INDEX                : integer              := get_id_index(ARD_ID_ARRAY, USER_00);  constant USER00_CE_INDEX                : integer              := calc_start_ce_index(ARD_NUM_CE_ARRAY, USER00_CS_INDEX);  ------------------------------------------  -- IP Interconnect (IPIC) signal declarations -- do not delete  -- prefix 'i' stands for IPIF while prefix 'u' stands for user logic  -- typically user logic will be hooked up to IPIF directly via i<sig>  -- unless signal slicing and muxing are needed via u<sig>  ------------------------------------------  signal iBus2IP_RdCE                   : std_logic_vector(0 to calc_num_ce(ARD_NUM_CE_ARRAY)-1);  signal iBus2IP_WrCE                   : std_logic_vector(0 to calc_num_ce(ARD_NUM_CE_ARRAY)-1);  signal iBus2IP_Data                   : std_logic_vector(0 to C_OPB_DWIDTH-1);  signal iBus2IP_BE                     : std_logic_vector(0 to C_OPB_DWIDTH/8-1);  signal iIP2Bus_Data                   : std_logic_vector(0 to C_OPB_DWIDTH-1)   := (others => '0');  signal iIP2Bus_Ack                    : std_logic   := '0';  signal iIP2Bus_Error                  : std_logic   := '0';  signal iIP2Bus_Retry                  : std_logic   := '0';  signal iIP2Bus_ToutSup                : std_logic   := '0';  signal DISABLE_POSTED_WRITE           : std_logic_vector(0 to ARD_ID_ARRAY'length-1)   := (others => '1'); -- disable posted write behavior for acknowledged write behavior  signal ZERO_IP2RFIFO_Data             : std_logic_vector(0 to ARD_DWIDTH_ARRAY(get_id_index_iboe(ARD_ID_ARRAY, IPIF_RDFIFO_DATA))-1)   := (others => '0'); -- work around for XST not taking (others => '0') in port mapping  signal ZERO_WFIFO2IP_Data             : std_logic_vector(0 to ARD_DWIDTH_ARRAY(get_id_index_iboe(ARD_ID_ARRAY, IPIF_WRFIFO_DATA))-1)   := (others => '0'); -- work around for XST not taking (others => '0') in port mapping  signal ZERO_IP2Bus_IntrEvent          : std_logic_vector(0 to IP_INTR_MODE_ARRAY'length-1)   := (others => '0'); -- work around for XST not taking (others => '0') in port mapping  signal iBus2IP_Clk                    : std_logic;  signal iBus2IP_Reset                  : std_logic;  signal uBus2IP_Data                   : std_logic_vector(0 to USER_DWIDTH-1);  signal uBus2IP_BE                     : std_logic_vector(0 to USER_DWIDTH/8-1);  signal uBus2IP_RdCE                   : std_logic_vector(0 to USER_NUM_CE-1);  signal uBus2IP_WrCE                   : std_logic_vector(0 to USER_NUM_CE-1);  signal uIP2Bus_Data                   : std_logic_vector(0 to USER_DWIDTH-1);begin  ------------------------------------------  -- instantiate the OPB IPIF  ------------------------------------------  OPB_IPIF_I : entity opb_ipif_v3_01_c.opb_ipif    generic map    (      C_ARD_ID_ARRAY                 => ARD_ID_ARRAY,      C_ARD_ADDR_RANGE_ARRAY         => ARD_ADDR_RANGE_ARRAY,      C_ARD_DWIDTH_ARRAY             => ARD_DWIDTH_ARRAY,      C_ARD_NUM_CE_ARRAY             => ARD_NUM_CE_ARRAY,      C_ARD_DEPENDENT_PROPS_ARRAY    => ARD_DEPENDENT_PROPS_ARRAY,      C_PIPELINE_MODEL               => PIPELINE_MODEL,      C_DEV_BLK_ID                   => DEV_BLK_ID,      C_DEV_MIR_ENABLE               => DEV_MIR_ENABLE,      C_OPB_AWIDTH                   => C_OPB_AWIDTH,      C_OPB_DWIDTH                   => C_OPB_DWIDTH,      C_FAMILY                       => C_FAMILY,      C_IP_INTR_MODE_ARRAY           => IP_INTR_MODE_ARRAY,      C_DEV_BURST_ENABLE             => DEV_BURST_ENABLE,      C_INCLUDE_ADDR_CNTR            => INCLUDE_ADDR_CNTR,      C_INCLUDE_WR_BUF               => INCLUDE_WR_BUF    )    port map    (      OPB_select                     => OPB_select,      OPB_DBus                       => OPB_DBus,      OPB_ABus                       => OPB_ABus,      OPB_BE                         => OPB_BE,      OPB_RNW                        => OPB_RNW,      OPB_seqAddr                    => OPB_seqAddr,      Sln_DBus                       => Sl_DBus,      Sln_xferAck                    => Sl_xferAck,      Sln_errAck                     => Sl_errAck,      Sln_retry                      => Sl_retry,      Sln_toutSup                    => Sl_toutSup,      Bus2IP_CS                      => open,      Bus2IP_CE                      => open,      Bus2IP_RdCE                    => iBus2IP_RdCE,      Bus2IP_WrCE                    => iBus2IP_WrCE,      Bus2IP_Data                    => iBus2IP_Data,      Bus2IP_Addr                    => open,      Bus2IP_AddrValid               => open,      Bus2IP_BE                      => iBus2IP_BE,      Bus2IP_RNW                     => open,      Bus2IP_Burst                   => open,      IP2Bus_Data                    => iIP2Bus_Data,      IP2Bus_Ack                     => iIP2Bus_Ack,      IP2Bus_AddrAck                 => '0',      IP2Bus_Error                   => iIP2Bus_Error,      IP2Bus_Retry                   => iIP2Bus_Retry,      IP2Bus_ToutSup                 => iIP2Bus_ToutSup,      IP2Bus_PostedWrInh             => DISABLE_POSTED_WRITE,      IP2RFIFO_Data                  => ZERO_IP2RFIFO_Data,      IP2RFIFO_WrMark                => '0',      IP2RFIFO_WrRelease             => '0',      IP2RFIFO_WrReq                 => '0',      IP2RFIFO_WrRestore             => '0',      RFIFO2IP_AlmostFull            => open,      RFIFO2IP_Full                  => open,      RFIFO2IP_Vacancy               => open,      RFIFO2IP_WrAck                 => open,      IP2WFIFO_RdMark                => '0',      IP2WFIFO_RdRelease             => '0',      IP2WFIFO_RdReq                 => '0',      IP2WFIFO_RdRestore             => '0',      WFIFO2IP_AlmostEmpty           => open,      WFIFO2IP_Data                  => ZERO_WFIFO2IP_Data,      WFIFO2IP_Empty                 => open,      WFIFO2IP_Occupancy             => open,      WFIFO2IP_RdAck                 => open,      IP2Bus_IntrEvent               => ZERO_IP2Bus_IntrEvent,      IP2INTC_Irpt                   => open,      Freeze                         => '0',      Bus2IP_Freeze                  => open,      OPB_Clk                        => OPB_Clk,      Bus2IP_Clk                     => iBus2IP_Clk,      IP2Bus_Clk                     => '0',      Reset                          => OPB_Rst,      Bus2IP_Reset                   => iBus2IP_Reset    );  ------------------------------------------  -- instantiate the User Logic  ------------------------------------------  USER_LOGIC_I : entity lcd_ip_v1_00_a.user_logic    generic map    (      -- MAP USER GENERICS BELOW THIS LINE ---------------      --USER generics mapped here      -- MAP USER GENERICS ABOVE THIS LINE ---------------      C_DWIDTH                       => USER_DWIDTH,      C_NUM_CE                       => USER_NUM_CE    )    port map    (      -- MAP USER PORTS BELOW THIS LINE ------------------      --USER ports mapped here		lcd 									 => lcd,      -- MAP USER PORTS ABOVE THIS LINE ------------------      Bus2IP_Clk                     => iBus2IP_Clk,      Bus2IP_Reset                   => iBus2IP_Reset,      Bus2IP_Data                    => uBus2IP_Data,      Bus2IP_BE                      => uBus2IP_BE,      Bus2IP_RdCE                    => uBus2IP_RdCE,      Bus2IP_WrCE                    => uBus2IP_WrCE,      IP2Bus_Data                    => uIP2Bus_Data,      IP2Bus_Ack                     => iIP2Bus_Ack,      IP2Bus_Retry                   => iIP2Bus_Retry,      IP2Bus_Error                   => iIP2Bus_Error,      IP2Bus_ToutSup                 => iIP2Bus_ToutSup    );  ------------------------------------------  -- hooking up signal slicing  ------------------------------------------  uBus2IP_BE <= iBus2IP_BE(0 to USER_DWIDTH/8-1);  uBus2IP_Data <= iBus2IP_Data(0 to USER_DWIDTH-1);  uBus2IP_RdCE <= iBus2IP_RdCE(USER00_CE_INDEX to USER00_CE_INDEX+USER_NUM_CE-1);  uBus2IP_WrCE <= iBus2IP_WrCE(USER00_CE_INDEX to USER00_CE_INDEX+USER_NUM_CE-1);  iIP2Bus_Data(0 to USER_DWIDTH-1) <= uIP2Bus_Data;end IMP;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -