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

📄 misc.vhd

📁 free hardware ip core about sparcv8,a soc cpu in vhdl
💻 VHD
📖 第 1 页 / 共 2 页
字号:
    hsb_clk : in std_ulogic;    lsb_clk : in std_ulogic;    hsb_ahbsi : in  ahb_slv_in_type;    hsb_ahbso : out ahb_slv_out_type;    hsb_ahbsov: in  ahb_slv_out_vector;    hsb_ahbmi : in  ahb_mst_in_type;    hsb_ahbmo : out ahb_mst_out_type;    lsb_ahbsi : in  ahb_slv_in_type;    lsb_ahbso : out ahb_slv_out_type;    lsb_ahbsov: in  ahb_slv_out_vector;    lsb_ahbmi : in  ahb_mst_in_type;    lsb_ahbmo : out ahb_mst_out_type);  end component;    function ahb2ahb_membar(memaddr : ahb_addr_type; prefetch, cache : std_ulogic;                          addrmask : ahb_addr_type)  return integer;    function ahb2ahb_iobar(memaddr : ahb_addr_type; addrmask : ahb_addr_type)  return integer;      type ahbstat_in_type is record    cerror : std_logic_vector(0 to NAHBSLV-1);  end record;     component ahbstat is    generic(      pindex : integer := 0;      paddr  : integer := 0;      pmask  : integer := 16#FFF#;      pirq   : integer := 0;      nftslv : integer range 1 to NAHBSLV - 1 := 3);    port(      rst   : in std_ulogic;      clk   : in std_ulogic;      ahbmi : in ahb_mst_in_type;      ahbsi : in ahb_slv_in_type;      stati : in ahbstat_in_type;      apbi  : in apb_slv_in_type;      apbo  : out apb_slv_out_type    );  end component;  type nuhosp3_in_type is record    flash_d	: std_logic_vector(15 downto 0);    smsc_data 	: std_logic_vector(31 downto 0);    smsc_ardy  	: std_ulogic;    smsc_intr  	: std_ulogic;    smsc_nldev 	: std_ulogic;    lcd_data 	: std_logic_vector(7 downto 0);  end record;  type nuhosp3_out_type is record    flash_a 	: std_logic_vector(20 downto 0);    flash_d	: std_logic_vector(15 downto 0);    flash_oen  	: std_ulogic;    flash_wen 	: std_ulogic;    flash_cen  	: std_ulogic;    smsc_addr 	: std_logic_vector(14 downto 0);    smsc_data 	: std_logic_vector(31 downto 0);    smsc_nbe  	: std_logic_vector(3 downto 0);    smsc_resetn	: std_ulogic;    smsc_nrd   	: std_ulogic;    smsc_nwr   	: std_ulogic;    smsc_ncs   	: std_ulogic;    smsc_aen   	: std_ulogic;    smsc_lclk  	: std_ulogic;    smsc_wnr   	: std_ulogic;    smsc_rdyrtn	: std_ulogic;    smsc_cycle 	: std_ulogic;    smsc_nads  	: std_ulogic;    smsc_ben   	: std_ulogic;    lcd_data 	: std_logic_vector(7 downto 0);    lcd_rs	: std_ulogic;    lcd_rw	: std_ulogic;    lcd_en	: std_ulogic;    lcd_backl	: std_ulogic;    lcd_ben	: std_ulogic;  end record;  component nuhosp3  generic (    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#fff#;    ioaddr : integer := 16#200#;    iomask : integer := 16#fff#);   port (    rst    : in  std_ulogic;    clk    : in  std_ulogic;    ahbsi  : in  ahb_slv_in_type;    ahbso  : out ahb_slv_out_type;    nui    : in  nuhosp3_in_type;    nuo    : out nuhosp3_out_type  );  end component;-- On-chip Logic Analyzer  component logan is    generic (    dbits   : integer range 0 to 256 := 32;        -- Number of traced signals    depth   : integer range 256 to 16384 := 1024;  -- Depth of trace buffer    trigl   : integer range 1 to 63 := 1;          -- Number of trigger levels    usereg  : integer range 0 to 1 := 1;           -- Use input register    usequal : integer range 0 to 1 := 0;    usediv  : integer range 0 to 1 := 1;    pindex  : integer := 0;    paddr   : integer := 0;    pmask   : integer := 16#F00#;    memtech : integer := DEFMEMTECH);                             port (    rstn    : in  std_logic;    clk     : in  std_logic;    tclk    : in  std_logic;    apbi    : in  apb_slv_in_type;                        -- APB in record    apbo    : out apb_slv_out_type;                       -- APB out record    signals : in  std_logic_vector(dbits - 1 downto 0));  -- Traced signals  end component;  type ps2_in_type is record    ps2_clk_i      : std_ulogic;    ps2_data_i     : std_ulogic;  end record;  type ps2_out_type is record    ps2_clk_o      : std_ulogic;    ps2_clk_oe     : std_ulogic;    ps2_data_o     : std_ulogic;    ps2_data_oe    : std_ulogic;  end record;  component apbps2   generic(    pindex      : integer := 0;     paddr       : integer := 0;    pmask       : integer := 16#fff#;    pirq        : integer := 0;    fKHz        : integer := 50000;    fixed       : integer := 1);  port(    rst         : in std_ulogic;                -- Global asynchronous reset    clk         : in std_ulogic;                -- Global clock    apbi        : in apb_slv_in_type;    apbo        : out apb_slv_out_type;     ps2i        : in ps2_in_type;    ps2o        : out ps2_out_type    );  end component;  type apbvga_out_type is record    hsync           : std_ulogic;                       -- horizontal sync    vsync           : std_ulogic;                       -- vertical sync    comp_sync       : std_ulogic;                       -- composite sync    blank           : std_ulogic;                       -- blank signal    video_out_r     : std_logic_vector(7 downto 0);     -- red channel    video_out_g     : std_logic_vector(7 downto 0);     -- green channel    video_out_b     : std_logic_vector(7 downto 0);     -- blue channel   end record;  component apbvga   generic(    memtech     : integer := DEFMEMTECH;    pindex      : integer := 0;     paddr       : integer := 0;    pmask       : integer := 16#fff#);  port(     rst             : in std_ulogic;                        -- Global asynchronous reset    clk             : in std_ulogic;                        -- Global clock    vgaclk          : in std_ulogic;                        -- VGA clock    apbi            : in apb_slv_in_type;    apbo            : out apb_slv_out_type;    vgao            : out apbvga_out_type    );  end component;  component svgactrl  generic(    length      : integer := 384;        -- Fifo-length    part        : integer := 128;        -- Fifo-part lenght    memtech     : integer := DEFMEMTECH;      pindex      : integer := 0;     paddr       : integer := 0;    pmask       : integer := 16#fff#;    hindex      : integer := 0;               hirq        : integer := 0;    clk0        : integer := 40000;    clk1        : integer := 20000;    clk2        : integer := 15385;    clk3        : integer := 0;    burstlen    : integer range 2 to 8 := 8    );  port (    rst       : in std_logic;    clk       : in std_logic;    vgaclk    : in std_logic;    apbi      : in apb_slv_in_type;    apbo      : out apb_slv_out_type;    vgao      : out apbvga_out_type;    ahbi      : in  ahb_mst_in_type;    ahbo      : out ahb_mst_out_type;    clk_sel   : out std_logic_vector(1 downto 0)    );  end component;  constant vgao_none : apbvga_out_type := 	('0', '0', '0', '0', "00000000", "00000000", "00000000");  constant ps2o_none : ps2_out_type := ('1', '1', '1', '1');--  component ahbrom--  generic (--    hindex  : integer := 0;--    haddr   : integer := 0;--    hmask   : integer := 16#fff#;--    pipe    : integer := 0;--    tech    : integer := 0;--    kbytes  : integer := 1);--  port (--    rst     : in  std_ulogic;--    clk     : in  std_ulogic;--    ahbsi   : in  ahb_slv_in_type;--    ahbso   : out ahb_slv_out_type--  );--  end component;  component ahbdma   generic (     hindex : integer := 0;     pindex : integer := 0;     paddr  : integer := 0;     pmask  : integer := 16#fff#;     pirq   : integer := 0;     dbuf   : integer := 0);   port (      rst  : in  std_logic;      clk  : in  std_ulogic;      apbi : in  apb_slv_in_type;      apbo : out apb_slv_out_type;      ahbi : in  ahb_mst_in_type;      ahbo : out ahb_mst_out_type       );  end component;      end;package body misc is  function ahb2ahb_membar(memaddr : ahb_addr_type; prefetch, cache : std_ulogic;                          addrmask : ahb_addr_type)      return integer is    variable tmp : std_logic_vector(29 downto 0);    variable bar : std_logic_vector(31 downto 0);    variable res : integer range 0 to 1073741823;  begin        bar := ahb_membar(memaddr, prefetch, cache, addrmask);    tmp := (others => '0');    tmp(29 downto 18) := bar(31 downto 20);    tmp(17 downto 0) := bar(17 downto 0);    res := conv_integer(tmp);    return(res);  end;  function ahb2ahb_iobar(memaddr : ahb_addr_type; addrmask : ahb_addr_type)  return integer is    variable tmp : std_logic_vector(29 downto 0);    variable bar : std_logic_vector(31 downto 0);    variable res : integer range 0 to 1073741823;      begin    bar := ahb_iobar(memaddr, addrmask);    tmp := (others => '0');    tmp(29 downto 18) := bar(31 downto 20);    tmp(17 downto 0) := bar(17 downto 0);    res := conv_integer(tmp);    return(res);  end;  end;

⌨️ 快捷键说明

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