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

📄 tech_map.vhd

📁 ARM7的源代码
💻 VHD
📖 第 1 页 / 共 3 页
字号:
    end generate;    fs90t : if TARGET_TECH = fs90 generate      p0 : fs90_toutpadu generic map (drive) port map (d => d, en => en, pad => pad);    end generate;    umc18t : if TARGET_TECH = umc18 generate      p0 : umc18_toutpadu generic map (drive) port map (d => d, en => en, pad => pad);    end generate;    tsmc25t : if TARGET_TECH = tsmc25 generate      p0 : tsmc25_toutpadu generic map (drive) port map (d => d, en => en, pad => pad);    end generate;  end generate;end;-- bidirectional padlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_atc25.all;use work.tech_atc35.all;use work.tech_fs90.all;use work.tech_umc18.all;use work.tech_generic.all;use work.tech_tsmc25.all;entity iopad is  generic (drive : integer := 1);  port (    d     : in  std_logic;    en    : in  std_logic;    q     : out std_logic;    pad   : inout std_logic  );end; architecture rtl of iopad isbegin  inf : if INFER_PADS or (TARGET_TECH = gen) or           (TARGET_TECH = virtex) or (TARGET_TECH = proasic) or          (TARGET_TECH = virtex2) or (TARGET_TECH = axcel) generate    giop0 : geniopad port map (d => d, en => en, q => q, pad => pad);  end generate;  ninf : if not INFER_PADS generate    atc25t : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    atc35t : if TARGET_TECH = atc35 generate      po : atc35_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    fs90t : if TARGET_TECH = fs90 generate      po : fs90_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    umc18t : if TARGET_TECH = umc18 generate      po : umc18_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    tsmc25t : if TARGET_TECH = tsmc25 generate      po : tsmc25_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;  end generate;end;-- bidirectional pad with schmitt trigger for I/O ports-- (if available)library IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_atc25.all;use work.tech_atc35.all;use work.tech_fs90.all;use work.tech_umc18.all;use work.tech_generic.all;use work.tech_tsmc25.all;entity smiopad is  generic (drive : integer := 1);  port (    d     : in  std_logic;    en    : in  std_logic;    q     : out std_logic;    pad   : inout std_logic  );end; architecture rtl of smiopad isbegin  inf : if INFER_PADS or (TARGET_TECH = gen) or           (TARGET_TECH = virtex) or (TARGET_TECH = proasic) or          (TARGET_TECH = virtex2) or (TARGET_TECH = axcel) generate    giop0 : geniopad port map (d => d, en => en, q => q, pad => pad);  end generate;  ninf : if not INFER_PADS generate    smiop1 : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    smiop2 : if TARGET_TECH = atc35 generate      p0 : atc35_iopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    smiop3 : if TARGET_TECH = fs90 generate      p0 : fs90_smiopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    smiop4 : if TARGET_TECH = umc18 generate      p0 : umc18_smiopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;    smiop5 : if TARGET_TECH = tsmc25 generate      p0 : tsmc25_smiopad generic map (drive) port map (d => d, en => en, q => q, pad => pad);    end generate;  end generate;end;-- open-drain padlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_atc25.all;use work.tech_atc35.all;use work.tech_fs90.all;use work.tech_umc18.all;use work.tech_generic.all;use work.tech_tsmc25.all;entity odpad is  generic (drive : integer := 1);  port (d : in std_logic; pad : out std_logic);end; architecture rtl of odpad isbegin  inf : if INFER_PADS or (TARGET_TECH = gen) or           (TARGET_TECH = virtex) or (TARGET_TECH = proasic) or          (TARGET_TECH = virtex2) or (TARGET_TECH = axcel) generate    godpad0 : genodpad port map (d => d, pad => pad);  end generate;  ninf : if not INFER_PADS generate    odp1 : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_odpad generic map (drive) port map (d => d, pad => pad);    end generate;    odp2 : if TARGET_TECH = atc35 generate      p0 : atc35_odpad generic map (drive) port map (d => d, pad => pad);    end generate;    odp3 : if TARGET_TECH = fs90 generate      p0 : fs90_odpad generic map (drive) port map (d => d, pad => pad);    end generate;    odp4 : if TARGET_TECH = umc18 generate      p0 : umc18_odpad generic map (drive) port map (d => d, pad => pad);    end generate;    odp5 : if TARGET_TECH = tsmc25 generate      p0 : tsmc25_odpad generic map (drive) port map (d => d, pad => pad);    end generate;  end generate;end;-- bi-directional open-drainlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_atc25.all;use work.tech_atc35.all;use work.tech_fs90.all;use work.tech_umc18.all;use work.tech_generic.all;use work.tech_tsmc25.all;entity iodpad is  generic (drive : integer := 1);  port ( d : in  std_logic; q : out std_logic; pad : inout std_logic);end; architecture rtl of iodpad isbegin   inf : if INFER_PADS or (TARGET_TECH = gen) or           (TARGET_TECH = virtex) or (TARGET_TECH = proasic) or          (TARGET_TECH = virtex2) or (TARGET_TECH = axcel) generate    giodp0 : geniodpad port map (d => d, q => q, pad => pad);  end generate;  ninf : if not INFER_PADS generate    iodp1 : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_iodpad generic map (drive) port map (d => d, q => q, pad => pad);    end generate;    iodp2 : if TARGET_TECH = atc35 generate      p0 : atc35_iodpad generic map (drive) port map (d => d, q => q, pad => pad);    end generate;    iodp3 : if TARGET_TECH = fs90 generate      p0 : fs90_iodpad generic map (drive) port map (d => d, q => q, pad => pad);    end generate;    iodp4 : if TARGET_TECH = umc18 generate      p0 : umc18_iodpad generic map (drive) port map (d => d, q => q, pad => pad);    end generate;    iodp5 : if TARGET_TECH = tsmc25 generate      p0 : tsmc25_iodpad generic map (drive) port map (d => d, q => q, pad => pad);    end generate;  end generate;end;-- PCI input padlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_virtex.all;use work.tech_generic.all;use work.tech_map.all;entity pciinpad is port (pad : in std_logic; q : out std_logic); end; architecture rtl of pciinpad isbegin  inf : if INFER_PCI_PADS or ((TARGET_TECH /= virtex) and (TARGET_TECH /= virtex2))  generate    ginpad0 : geninpad port map (q => q, pad => pad);  end generate;  ninf : if not INFER_PCI_PADS generate    xcv : if (TARGET_TECH = virtex) or (TARGET_TECH = virtex2) generate      p0 : virtex_pciinpad port map (q => q, pad => pad);    end generate;  end generate;end;-- PCI output padlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_virtex.all;use work.tech_atc25.all;use work.tech_generic.all;entity pcioutpad is port (d : in std_logic; pad : out std_logic); end; architecture rtl of pcioutpad isbegin  inf : if INFER_PCI_PADS or ((TARGET_TECH /= atc25) and (TARGET_TECH /= atc18) and	 (TARGET_TECH /= virtex) and (TARGET_TECH /= virtex2)) generate    goutpad0 : genoutpad port map (d => d, pad => pad);  end generate;  ninf : if not INFER_PCI_PADS generate    xcv : if (TARGET_TECH = virtex) or (TARGET_TECH = virtex2) generate      opx : virtex_pcioutpad port map (d => d, pad => pad);    end generate;    op1 : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      opx : atc25_pcioutpad port map (d => d, pad => pad);    end generate;  end generate;end;-- PCI tristate output padlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_virtex.all;use work.tech_atc25.all;use work.tech_generic.all;entity pcitoutpad is port (d, en : in std_logic; pad : out std_logic); end; architecture rtl of pcitoutpad isbegin  inf : if INFER_PCI_PADS or ((TARGET_TECH /= atc25) and (TARGET_TECH /= atc18) and	 (TARGET_TECH /= virtex) and (TARGET_TECH /= virtex2)) generate    giop0 : gentoutpadu port map (d => d, en => en, pad => pad);  end generate;  ninf : if not INFER_PCI_PADS generate    xcv : if (TARGET_TECH = virtex) or (TARGET_TECH = virtex2) generate      p0 : virtex_pcitoutpad port map (d => d, en => en, pad => pad);    end generate;    atc25t : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_pcitoutpad port map (d => d, en => en, pad => pad);    end generate;  end generate;end;-- bidirectional pad-- PCI bidir padlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_virtex.all;use work.tech_atc25.all;use work.tech_generic.all;entity pciiopad is  port (    d     : in  std_logic;    en    : in  std_logic;    q     : out std_logic;    pad   : inout std_logic  );end; architecture rtl of pciiopad isbegin  inf : if INFER_PCI_PADS or ((TARGET_TECH /= atc25) and (TARGET_TECH /= atc18) and	 (TARGET_TECH /= virtex) and (TARGET_TECH /= virtex2)) generate    giop0 : geniopad port map (d => d, en => en, q => q, pad => pad);  end generate;  ninf : if not INFER_PCI_PADS generate    xcv : if (TARGET_TECH = virtex) or (TARGET_TECH = virtex2) generate      p0 : virtex_pciiopad port map (d => d, en => en, q => q, pad => pad);    end generate;    iop1 : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_pciiopad port map (d => d, en => en, q => q, pad => pad);    end generate;  end generate;end;-- PCI bi-directional open-drainlibrary IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_config.all;use work.tech_virtex.all;use work.tech_atc25.all;use work.tech_generic.all;entity pciiodpad is  port ( d : in  std_logic; q : out std_logic; pad : inout std_logic);end; architecture rtl of pciiodpad isbegin   inf : if INFER_PCI_PADS or ((TARGET_TECH /= atc25) and (TARGET_TECH /= atc18) and	 (TARGET_TECH /= virtex) and (TARGET_TECH /= virtex2)) generate    giodp0 : geniodpad port map (d => d, q => q, pad => pad);  end generate;  ninf : if not INFER_PCI_PADS generate    xcv : if (TARGET_TECH = virtex) or (TARGET_TECH = virtex2) generate      p0 : virtex_pciiodpad port map (d => d, q => q, pad => pad);    end generate;    iodp1 : if (TARGET_TECH = atc25) or (TARGET_TECH = atc18) generate      p0 : atc25_pciiodpad port map (d => d, q => q, pad => pad);    end generate;  end generate;end;library IEEE;use IEEE.std_logic_1164.all;use work.leon_target.all;use work.leon_iface.all;use work.leon_config.all;use work.tech_generic.all;use work.tech_virtex.all;use work.tech_virtex2.all;entity clkgen isport (    clkin   : in  std_logic;    pciclkin: in  std_logic;    clk     : out std_logic;			-- main clock    clkn    : out std_logic;			-- inverted main clock    sdclk   : out std_logic;			-- SDRAM clock    pciclk  : out std_logic;			-- PCI clock    cgi     : in clkgen_in_type;    cgo     : out clkgen_out_type);end;architecture rtl of clkgen isbegin  c0: if TARGET_CLK = gen generate    g0 : generic_clkgen     port map (clkin, pciclkin, clk, clkn, sdclk, pciclk, cgi, cgo);  end generate;  c1: if TARGET_CLK = virtex generate    v : virtex_clkgen     generic map (clk_mul => PLL_CLK_MUL, clk_div => PLL_CLK_DIV)    port map (clkin, pciclkin, clk, clkn, sdclk, pciclk, cgi, cgo);  end generate;  c2: if TARGET_CLK = virtex2 generate    v : virtex2_clkgen     generic map (clk_mul => PLL_CLK_MUL, clk_div => PLL_CLK_DIV)    port map (clkin, pciclkin, clk, clkn, sdclk, pciclk, cgi, cgo);  end generate;end;

⌨️ 快捷键说明

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