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

📄 iface.vhd

📁 宇航级微处理器LEON2 2.2 VHDL源代码,很难找的.
💻 VHD
📖 第 1 页 / 共 2 页
字号:
------------------------------------------------------------------------------  This file is a part of the LEON VHDL model--  Copyright (C) 1999  European Space Agency (ESA)----  This library is free software; you can redistribute it and/or--  modify it under the terms of the GNU Lesser General Public--  License as published by the Free Software Foundation; either--  version 2 of the License, or (at your option) any later version.----  See the file COPYING.LGPL for the full details of the license.------------------------------------------------------------------------------- Entity:      iface-- File:        iface.vhd-- Author:      Jiri Gaisler - ESA/ESTEC-- Description: Package with type declarations for module interconnections------------------------------------------------------------------------------  library IEEE;use IEEE.std_logic_1164.all;use work.config.all;use work.sparcv8.all;package iface issubtype clk_type is std_logic;-------------------------------------------------------------------------------- Add I/Os for custom peripherals in the records below-------------------------------------------------------------------------------- peripheral inputstype io_in_type is record  piol             : std_logic_vector(15 downto 0); -- I/O port inputsend record;-- peripheral outputstype io_out_type is record  piol             : std_logic_vector(15 downto 0); -- I/O port outputs  piodir           : std_logic_vector(15 downto 0); -- I/O port direction  errorn  : std_logic;				    -- CPU in error mode  wdog 	  : std_logic;				    -- watchdog outputend record;-------------------------------------------------------------------------------- register file inputstype rf_in_type is record  rd1addr 	: std_logic_vector(RABITS-1 downto 0); -- read address 1  rd2addr 	: std_logic_vector(RABITS-1 downto 0); -- read address 2  wraddr 	: std_logic_vector(RABITS-1 downto 0); -- write address  wrdata 	: std_logic_vector(RDBITS-1 downto 0);     -- write data  wren          : std_logic;			     -- write enableend record;-- instruction cache diagnostic access inputstype icdiag_in_type is record  addr             : std_logic_vector(31 downto 0); -- memory stage address  enable           : std_logic;  read             : std_logic;  tag              : std_logic;  flush            : std_logic;end record;-- data cache controller inputstype dcache_in_type is record  asi              : std_logic_vector(7 downto 0); -- ASI for load/store  maddress         : std_logic_vector(31 downto 0); -- memory stage address  eaddress         : std_logic_vector(31 downto 0); -- execute stage address  edata            : std_logic_vector(31 downto 0); -- execute stage data  size             : std_logic_vector(1 downto 0);  signed           : std_logic;  enaddr           : std_logic;  eenaddr          : std_logic;  nullify          : std_logic;  lock             : std_logic;  read             : std_logic;  write            : std_logic;  flush            : std_logic;end record;-- data cache controller outputstype dcache_out_type is record  data             : std_logic_vector(31 downto 0); -- Data bus address  mexc             : std_logic;		-- memory exception  hold             : std_logic;  mds              : std_logic;  werr             : std_logic;		-- memory write error  icdiag           : icdiag_in_type;  cache            : std_logic;		-- cacheable dataend record;type icache_in_type is record  rpc              : std_logic_vector(31 downto PCLOW); -- raw address (npc)  fpc              : std_logic_vector(31 downto PCLOW); -- latched address (fpc)  dpc              : std_logic_vector(31 downto PCLOW); -- latched address (dpc)  rbranch          : std_logic;			-- Instruction branch  fbranch          : std_logic;			-- Instruction branch  nullify          : std_logic;			-- instruction nullify  su               : std_logic;			-- super-user  flush            : std_logic;			-- flush icacheend record;type icache_out_type is record  data             : std_logic_vector(31 downto 0);  exception        : std_logic;  hold             : std_logic;  flush            : std_logic;			-- flush in progress  diagrdy          : std_logic;			-- diagnostic access ready  diagdata         : std_logic_vector(31 downto 0); -- diagnostic data  mds              : std_logic;			-- memory data strobe  cache            : std_logic;		-- cacheable dataend record;type rf_out_type is record  data1    	: std_logic_vector(RDBITS-1 downto 0); -- read data 1  data2    	: std_logic_vector(RDBITS-1 downto 0); -- read data 2end record;type memory_ic_in_type is record  address          : std_logic_vector(31 downto 0); -- memory address  burst            : std_logic;			-- burst request  req              : std_logic;			-- memory cycle request  su               : std_logic;			-- supervisor address space  flush            : std_logic;			-- flush in progressend record;type memory_ic_out_type is record  data             : std_logic_vector(31 downto 0); -- memory data  ready            : std_logic;			    -- cycle ready  grant            : std_logic;			    --   retry            : std_logic;			    --   mexc             : std_logic;			    -- memory exception  burst            : std_logic;			    -- memory burst enable  ics              : std_logic_vector(1 downto 0); -- icache state (from CCR)  cache            : std_logic;		-- cacheable dataend record;type memory_dc_in_type is record  address          : std_logic_vector(31 downto 0);   data             : std_logic_vector(31 downto 0);  asi              : std_logic_vector(3 downto 0);  size             : std_logic_vector(1 downto 0);  burst            : std_logic;  read             : std_logic;  req              : std_logic;  flush            : std_logic;			-- flush in progress  lock             : std_logic;end record;type memory_dc_out_type is record  data             : std_logic_vector(31 downto 0); -- memory data  ready            : std_logic;			    -- cycle ready  grant            : std_logic;			    --   retry            : std_logic;			    --   mexc             : std_logic;			    -- memory exception  werr             : std_logic;			    -- memory write error  dcs              : std_logic_vector(1 downto 0);  cache            : std_logic;		-- cacheable dataend record;type memory_in_type is record  data             : std_logic_vector(31 downto 0); -- Data bus address  brdyn            : std_logic;  bexcn            : std_logic;  writen           : std_logic;  wrn              : std_logic_vector(3 downto 0);end record;type memory_out_type is record  address          : std_logic_vector(27 downto 0);  data             : std_logic_vector(31 downto 0);  ramsn            : std_logic_vector(3 downto 0);  ramoen           : std_logic_vector(3 downto 0);   iosn             : std_logic;  romsn            : std_logic_vector(1 downto 0);  oen              : std_logic;  writen           : std_logic;  wrn              : std_logic_vector(3 downto 0);  bdrive           : std_logic_vector(3 downto 0);  read             : std_logic;end record;type pio_in_type is record  piol             : std_logic_vector(15 downto 0);  pioh             : std_logic_vector(15 downto 0);end record;type pio_out_type is record  irq              : std_logic_vector(3 downto 0);  piol             : std_logic_vector(15 downto 0);  piodir           : std_logic_vector(15 downto 0);  io8lsb           : std_logic_vector(7 downto 0);  rxd              : std_logic_vector(1 downto 0);  ctsn   	   : std_logic_vector(1 downto 0);end record;type wprot_out_type is record  wprothit          : std_logic;end record;type ahbstat_out_type is record  ahberr           : std_logic;end record;type mctrl_out_type is record  pioh             : std_logic_vector(15 downto 0);end record;type itram_in_type is record  tag    	: std_logic_vector(ITAG_BITS - ILINE_SIZE - 1 downto 0);  valid  	: std_logic_vector(ILINE_SIZE -1 downto 0);  enable	: std_logic;  write		: std_logic;end record;type itram_out_type is record  tag    	: std_logic_vector(ITAG_BITS - ILINE_SIZE -1 downto 0);  valid  	: std_logic_vector(ILINE_SIZE -1 downto 0);end record;type idram_in_type is record  address	: std_logic_vector((IOFFSET_BITS + ILINE_BITS -1) downto 0);  data   	: std_logic_vector(31 downto 0);  enable	: std_logic;  write		: std_logic;end record;type idram_out_type is record  data   	: std_logic_vector(31 downto 0);end record;type dtram_in_type is record  tag    	: std_logic_vector(DTAG_BITS - DLINE_SIZE - 1 downto 0);  valid  	: std_logic_vector(DLINE_SIZE -1 downto 0);  enable	: std_logic;  write		: std_logic;end record;type dtram_out_type is record  tag    	: std_logic_vector(DTAG_BITS - DLINE_SIZE -1 downto 0);  valid  	: std_logic_vector(DLINE_SIZE -1 downto 0);end record;

⌨️ 快捷键说明

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