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

📄 misc.vhd

📁 free hardware ip core about sparcv8,a soc cpu in vhdl
💻 VHD
📖 第 1 页 / 共 2 页
字号:
--------------------------------------------------------------------------------  This file is a part of the GRLIB VHDL IP LIBRARY--  Copyright (C) 2003, Gaisler Research----  This program is free software; you can redistribute it and/or modify--  it under the terms of the GNU General Public License as published by--  the Free Software Foundation; either version 2 of the License, or--  (at your option) any later version.----  This program is distributed in the hope that it will be useful,--  but WITHOUT ANY WARRANTY; without even the implied warranty of--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the--  GNU General Public License for more details.----  You should have received a copy of the GNU General Public License--  along with this program; if not, write to the Free Software--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA ------------------------------------------------------------------------------- Package: 	misc-- File:	misc.vhd-- Author:	Jiri Gaisler - Gaisler Research-- Description:	Misc models------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;library grlib;use grlib.amba.all;use grlib.devices.all;use grlib.stdlib.all;library techmap;use techmap.gencomp.all;library gaisler;use gaisler.leon3.all;package misc is-- reset generator with filter  component rstgen  generic (acthigh : integer := 0; syncrst : integer := 0);  port (    rstin     : in  std_ulogic;    clk       : in  std_ulogic;    clklock   : in  std_ulogic;    rstout    : out std_ulogic;    rstoutraw : out std_ulogic);  end component;  type gptimer_in_type is record    dhalt    : std_ulogic;    extclk   : std_ulogic;  end record;  type gptimer_out_type is record    tick     : std_logic_vector(0 to 7);    timer1   : std_logic_vector(31 downto 0);    wdogn    : std_ulogic;    wdog    : std_ulogic;  end record;  component gptimer  generic (    pindex   : integer := 0;    paddr    : integer := 0;    pmask    : integer := 16#fff#;    pirq     : integer := 0;    sepirq   : integer := 0;	-- use separate interrupts for each timer    sbits    : integer := 16;			-- scaler bits    ntimers  : integer range 1 to 7 := 1; 	-- number of timers    nbits    : integer := 32;			-- timer bits    wdog     : integer := 0  );  port (    rst    : in  std_ulogic;    clk    : in  std_ulogic;    apbi   : in  apb_slv_in_type;    apbo   : out apb_slv_out_type;    gpti   : in gptimer_in_type;    gpto   : out gptimer_out_type  );  end component;-- 32-bit ram with AHB interface  component ahbram  generic (    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#fff#;    tech    : integer := DEFMEMTECH;     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;  type ahbram_out_type is record    ce : std_ulogic;   end record;    component ftahbram is    generic (      hindex    : integer := 0;      haddr     : integer := 0;      hmask     : integer := 16#fff#;      tech      : integer := DEFMEMTECH;       kbytes    : integer := 1;      pindex    : integer := 0;      paddr     : integer := 0;      pmask     : integer := 16#fff#;      edacen    : integer := 1;      autoscrub : integer := 0;       errcnten  : integer := 0;      cntbits   : integer range 1 to 8 := 1;      ahbpipe   : integer := 0);    port (      rst     : in  std_ulogic;      clk     : in  std_ulogic;      ahbsi   : in  ahb_slv_in_type;      ahbso   : out ahb_slv_out_type;      apbi    : in  apb_slv_in_type;      apbo    : out apb_slv_out_type;      aramo   : out ahbram_out_type    );  end component;  component ahbtrace is  generic (    hindex  : integer := 0;    ioaddr    : integer := 16#000#;    iomask    : integer := 16#E00#;    tech    : integer := DEFMEMTECH;     irq     : integer := 0;     kbytes  : integer := 1);   port (    rst    : in  std_ulogic;    clk    : in  std_ulogic;    ahbmi  : in  ahb_mst_in_type;    ahbsi  : in  ahb_slv_in_type;    ahbso  : out ahb_slv_out_type  );  end component; type ahb_dma_in_type is record  address         : std_logic_vector(31 downto 0);  wdata           : std_logic_vector(31 downto 0);  start           : std_ulogic;  burst           : std_ulogic;  write           : std_ulogic;  busy            : std_ulogic;  irq             : std_ulogic;  size            : std_logic_vector(1 downto 0);end record;type ahb_dma_out_type is record  start           : std_ulogic;  active          : std_ulogic;  ready           : std_ulogic;  retry           : std_ulogic;  mexc            : std_ulogic;  haddr           : std_logic_vector(9 downto 0);  rdata           : std_logic_vector(31 downto 0);end record;  component ahbmst  generic (    hindex  : integer := 0;    hirq    : integer := 0;    venid   : integer := VENDOR_GAISLER;    devid   : integer := 0;    version : integer := 0;    chprot  : integer := 3;    incaddr : integer := 0);    port (      rst  : in  std_ulogic;      clk  : in  std_ulogic;      dmai : in ahb_dma_in_type;      dmao : out ahb_dma_out_type;      ahbi : in  ahb_mst_in_type;      ahbo : out ahb_mst_out_type       );  end component;  type gpio_in_type is record    din      : std_logic_vector(31 downto 0);  end record;  type gpio_out_type is record    dout     : std_logic_vector(31 downto 0);    oen      : std_logic_vector(31 downto 0);    val      : std_logic_vector(31 downto 0);  end record;  type ahb2ahb_ctrl_type is record    slck  : std_ulogic;    blck  : std_ulogic;  end record;                                component grgpio  generic (    pindex   : integer := 0;    paddr    : integer := 0;    pmask    : integer := 16#fff#;    imask    : integer := 16#0000#;    nbits    : integer := 16;			-- GPIO bits    oepol    : integer := 0;                    -- Output enable polarity    syncrst  : integer := 0  );  port (    rst    : in  std_ulogic;    clk    : in  std_ulogic;    apbi   : in  apb_slv_in_type;    apbo   : out apb_slv_out_type;    gpioi  : in  gpio_in_type;    gpioo  : out gpio_out_type  );  end component;  component ahb2ahb  generic(    tech    : integer := 0;        hsindex : integer := 0;    hmindex : integer := 0;    slv     : integer := 0;    dir     : integer := 0;   -- 0 - down, 1 - up    ffact    : integer := 0;    pfen    : integer range 0 to 1 := 0;    rbufsz  : integer range 2 to 32 := 8;    wbufsz  : integer range 2 to 32 := 2;        iburst   : integer range 4 to 8 :=  8;    rburst   : integer range 2 to 32 := 8;    irqsync : integer range 0 to 1 := 0;        bar0     : integer range 0 to 1073741823 := 0;    bar1     : integer range 0 to 1073741823 := 0;    bar2     : integer range 0 to 1073741823 := 0;    bar3     : integer range 0 to 1073741823 := 0;               sbus     : integer := 0;    mbus     : integer := 0;        ioarea   : integer := 0);  port (    rstn   : in std_ulogic;        hclkm  : in std_ulogic;    hclks  : in std_ulogic;    ahbsi  : in ahb_slv_in_type;    ahbso  : out ahb_slv_out_type;    ahbmi  : in ahb_mst_in_type;    ahbmo  : out ahb_mst_out_type;    ahbso2 : in ahb_slv_out_vector;    lcki   : in ahb2ahb_ctrl_type;    lcko   : out ahb2ahb_ctrl_type    );  end component;    component ahbbridge   generic(    tech        : integer := 0;    ffact       : integer := 2;    ncpu        : integer := 1;    -- high-speed bus        hsb_hsindex : integer := 0;    hsb_hmindex : integer := 0;    hsb_iclsize : integer range 4 to 8 := 8;    hsb_bank0     : integer range 0 to 1073741823 := 0;    hsb_bank1     : integer range 0 to 1073741823 := 0;    hsb_bank2     : integer range 0 to 1073741823 := 0;    hsb_bank3     : integer range 0 to 1073741823 := 0;    hsb_ioarea   : integer := 0;    -- low-speed bus    lsb_hsindex : integer := 0;    lsb_hmindex : integer := 0;    lsb_rburst  : integer range 16 to 32 := 16;    lsb_wburst  : integer range 2 to 32 :=  8;    lsb_bank0     : integer range 0 to 1073741823 := 0;    lsb_bank1     : integer range 0 to 1073741823 := 0;    lsb_bank2     : integer range 0 to 1073741823 := 0;    lsb_bank3     : integer range 0 to 1073741823 := 0;    lsb_ioarea    : integer := 0);      port (    rstn    : in std_ulogic;    

⌨️ 快捷键说明

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