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

📄 memctrl.vhd

📁 free hardware ip core about sparcv8,a soc cpu in vhdl
💻 VHD
📖 第 1 页 / 共 2 页
字号:
  );end component;component ssrctrl  generic (    hindex  : integer := 0;    pindex  : integer := 0;    romaddr : integer := 0;    rommask : integer := 16#ff0#;    ramaddr : integer := 16#400#;    rammask : integer := 16#ff0#;    ioaddr  : integer := 16#200#;    iomask  : integer := 16#ff0#;    paddr   : integer := 0;    pmask   : integer := 16#fff#;    oepol   : 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;    sri     : in  memory_in_type;    sro     : out memory_out_type  );end component; type ddrmem_in_type is record    cke        : std_ulogic;    cs         : std_logic_vector(1 downto 0);    control    : std_logic_vector(2 downto 0);  --RAS,CAS,WE    ba         : std_logic_vector(1 downto 0);    adr        : std_logic_vector(13 downto 0);    dq         : std_logic_vector(63 downto 0);    dm         : std_logic_vector(15 downto 0);    dqs        : std_logic_vector(15 downto 0);    dq_oe      : std_logic_vector(63 downto 0);    dqs_oe     : std_logic_vector(15 downto 0); end record; type ddrmem_out_type is record    dq         : std_logic_vector(63 downto 0);    dqs        : std_logic_vector(15 downto 0); end record;component ddrctrl  generic (    hindex1    :     integer := 0;    haddr1     :     integer := 0;    hmask1     :     integer := 16#f80#;    hindex2    :     integer := 0;    haddr2     :     integer := 0;    hmask2     :     integer := 16#f80#;    pindex     :     integer := 3;    paddr      :     integer := 0;    numahb     :     integer := 1;       -- Allowed: 1, 2    ahb1sepclk :     integer := 0;       -- Allowed: 0, 1    ahb2sepclk :     integer := 0;       -- Allowed: 0, 1    modbanks   :     integer := 1;       -- Allowed: 1, 2    numchips   :     integer := 8;       -- Allowed: 1, 2, 4, 8, 16    chipbits   :     integer := 8;       -- Allowed: 4, 8, 16    chipsize   :     integer := 128;     -- Allowed: 64, 128, 256, 512, 1024 (MB)    plldelay   :     integer := 0;       -- Allowed: 0, 1 (Use 200us start up delay)    tech       :     integer := 0;    clkperiod  :     integer := 10);     -- 100 Mhz  port (    rst       : in  std_ulogic;    clk0      : in  std_ulogic;    clk90     : in  std_ulogic;    clk180    : in  std_ulogic;    clk270    : in  std_ulogic;    hclk1     : in  std_ulogic;    hclk2     : in  std_ulogic;    pclk      : in  std_ulogic;    ahb1si    : in  ahb_slv_in_type;    ahb1so    : out ahb_slv_out_type;    ahb2si    : in  ahb_slv_in_type;    ahb2so    : out ahb_slv_out_type;    apbsi     : in  apb_slv_in_type;    apbso     : out apb_slv_out_type;--    dapbso    : out apb_slv_out_type;    ddsi      : out ddrmem_in_type;    ddso      : in  ddrmem_out_type);end component;component ftsrctrl_v1  generic (      hindex:                 Integer := 1;      romaddr:                Integer := 16#000#;      rommask:                Integer := 16#ff0#;      ramaddr:                Integer := 16#400#;      rammask:                Integer := 16#ff0#;      ioaddr:                 Integer := 16#200#;      iomask:                 Integer := 16#ff0#;      ramws:                  Integer := 0;      romws:                  Integer := 0;      iows:                   Integer := 0;      rmw:                    Integer := 1;      srbanks:                Integer range 1 to 8  := 8;      banksz:                 Integer range 0 to 13 := 0;      rombanks:               Integer range 1 to 8  := 8;      rombanksz:              Integer range 0 to 13 := 0;      rombankszdef:           Integer range 0 to 13 := 6;      romasel:                Integer range 0 to 28 := 0;      pindex:                 Integer := 0;      paddr:                  Integer := 16#000#;      pmask:                  Integer := 16#fff#;      edacen:                 Integer range 0 to 1 := 1;      errcnt:                 Integer range 0 to 1 := 0;      cntbits:                Integer range 1 to 8 := 1;      wsreg:                  Integer := 1;      oepol:                  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;    sri    : in  memory_in_type;    sro    : out memory_out_type;    sdo    : out sdctrl_out_type  );end component;component ddrsp  generic (    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#f00#;    ioaddr  : integer := 16#000#;    iomask  : integer := 16#fff#;    MHz     : integer := 100;    col     : integer := 9;     Mbit    : integer := 256;     fast    : integer := 0;     pwron   : integer := 0;    oepol   : integer := 0  );  port (    rst     : in  std_ulogic;    clk     : in  std_ulogic;    ahbsi   : in  ahb_slv_in_type;    ahbso   : out ahb_slv_out_type;    sdi     : in  sdctrl_in_type;    sdo     : out sdctrl_out_type  );end component; component ddrsp64a  generic (    memtech : integer := 0;    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#f00#;    ioaddr  : integer := 16#000#;    iomask  : integer := 16#fff#;    MHz     : integer := 100;    col     : integer := 9;     Mbyte   : integer := 16;     fast    : integer := 0;     pwron   : integer := 0;    oepol   : integer := 0  );  port (    rst     : in  std_ulogic;    clk_ddr : in  std_ulogic;    clk_ahb : in  std_ulogic;    ahbsi   : in  ahb_slv_in_type;    ahbso   : out ahb_slv_out_type;    sdi     : in  sdctrl_in_type;    sdo     : out sdctrl_out_type  );end component;component ddrsp32a   generic (    memtech : integer := 0;    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#f00#;    ioaddr  : integer := 16#000#;    iomask  : integer := 16#fff#;    MHz     : integer := 100;    col     : integer := 9;     Mbyte   : integer := 16;     fast    : integer := 0;     pwron   : integer := 0;    oepol   : integer := 0  );  port (    rst     : in  std_ulogic;    clk_ddr : in  std_ulogic;    clk_ahb : in  std_ulogic;    ahbsi   : in  ahb_slv_in_type;    ahbso   : out ahb_slv_out_type;    sdi     : in  sdctrl_in_type;    sdo     : out sdctrl_out_type  );end component; component ddrsp16a   generic (    memtech : integer := 0;    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#f00#;    ioaddr  : integer := 16#000#;    iomask  : integer := 16#fff#;    MHz     : integer := 100;    col     : integer := 9;     Mbyte   : integer := 16;     fast    : integer := 0;     pwron   : integer := 0;    oepol   : integer := 0  );  port (    rst     : in  std_ulogic;    clk_ddr : in  std_ulogic;    clk_ahb : in  std_ulogic;    clkread : in  std_ulogic;    ahbsi   : in  ahb_slv_in_type;    ahbso   : out ahb_slv_out_type;    sdi     : in  sdctrl_in_type;    sdo     : out sdctrl_out_type  );end component;   component ddrspa  generic (    fabtech : integer := 0;    memtech : integer := 0;    rskew   : integer := 0;    hindex  : integer := 0;    haddr   : integer := 0;    hmask   : integer := 16#f00#;    ioaddr  : integer := 16#000#;    iomask  : integer := 16#fff#;    MHz     : integer := 100;    clkmul  : integer := 2;     clkdiv  : integer := 2;     col     : integer := 9;     Mbyte   : integer := 16;     rstdel  : integer := 200;     pwron   : integer := 0;    oepol   : integer := 0;    ddrbits : integer := 16;    ahbfreq : integer := 50  );  port (    rst_ddr : in  std_ulogic;    rst_ahb : in  std_ulogic;    clk_ddr : in  std_ulogic;    clk_ahb : in  std_ulogic;    lock    : out std_ulogic;			-- DCM locked    clkddro : out std_ulogic;			-- DCM locked    clkddri : in  std_ulogic;    ahbsi   : in  ahb_slv_in_type;    ahbso   : out ahb_slv_out_type;    ddr_clk 	: out std_logic_vector(2 downto 0);    ddr_clkb	: out std_logic_vector(2 downto 0);    ddr_clk_fb_out  : out std_logic;    ddr_clk_fb  : in std_logic;    ddr_cke  	: out std_logic_vector(1 downto 0);    ddr_csb  	: out std_logic_vector(1 downto 0);    ddr_web  	: out std_ulogic;                       -- ddr write enable    ddr_rasb  	: out std_ulogic;                       -- ddr ras    ddr_casb  	: out std_ulogic;                       -- ddr cas    ddr_dm   	: out std_logic_vector (ddrbits/8-1 downto 0);    -- ddr dm    ddr_dqs  	: inout std_logic_vector (ddrbits/8-1 downto 0);    -- ddr dqs    ddr_ad      : out std_logic_vector (13 downto 0);   -- ddr address    ddr_ba      : out std_logic_vector (1 downto 0);    -- ddr bank address    ddr_dq    	: inout  std_logic_vector (ddrbits-1 downto 0) -- ddr data  );  end component;   component ddr_phy  generic (tech : integer := virtex2; MHz : integer := 100; 	rstdelay : integer := 200; dbits : integer := 16; 	clk_mul : integer := 2 ; clk_div : integer := 2;	rskew : integer := 0);  port (    rst       : in  std_ulogic;    clk       : in  std_logic;          	-- input clock    clkout    : out std_ulogic;			-- system clock    clkread   : out std_ulogic;			-- system clock    lock      : out std_ulogic;			-- DCM locked    ddr_clk 	: out std_logic_vector(2 downto 0);    ddr_clkb	: out std_logic_vector(2 downto 0);    ddr_clk_fb_out  : out std_logic;    ddr_clk_fb  : in std_logic;    ddr_cke  	: out std_logic_vector(1 downto 0);    ddr_csb  	: out std_logic_vector(1 downto 0);    ddr_web  	: out std_ulogic;                       -- ddr write enable    ddr_rasb  	: out std_ulogic;                       -- ddr ras    ddr_casb  	: out std_ulogic;                       -- ddr cas    ddr_dm   	: out std_logic_vector (dbits/8-1 downto 0);    -- ddr dm    ddr_dqs  	: inout std_logic_vector (dbits/8-1 downto 0);    -- ddr dqs    ddr_ad      : out std_logic_vector (13 downto 0);   -- ddr address    ddr_ba      : out std_logic_vector (1 downto 0);    -- ddr bank address    ddr_dq    	: inout  std_logic_vector (dbits-1 downto 0); -- ddr data     sdi         : out sdctrl_in_type;    sdo         : in  sdctrl_out_type);  end component;  component ftsrctrl8 is  generic (    hindex       : integer := 0;    ramaddr      : integer := 16#400#;    rammask      : integer := 16#ff0#;    ioaddr       : integer := 16#200#;    iomask       : integer := 16#ff0#;    ramws        : integer := 0;    iows         : integer := 2;    srbanks      : integer range 1 to 8  := 1;    banksz       : integer range 0 to 15 := 15;    pindex       : integer := 0;    paddr        : integer := 0;    pmask        : integer := 16#fff#;    edacen       : integer range 0 to 1 := 1;    errcnt       : integer range 0 to 1 := 1;       cntbits      : integer range 1 to 8 := 1;    wsreg        : integer := 0;    oepol        : 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;    sri          : in  memory_in_type;    sro          : out memory_out_type  );  end component; end;

⌨️ 快捷键说明

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