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

📄 pad_unisim_gen.vhd

📁 free hardware ip core about sparcv8,a soc cpu in vhdl
💻 VHD
📖 第 1 页 / 共 2 页
字号:
use techmap.gencomp.all;-- pragma translate_offlibrary unisim;use unisim.IBUFG;use unisim.IBUF;use unisim.BUFGMUX;use unisim.BUFG;-- pragma translate_onentity virtex_clkpad is  generic (level : integer := 0; voltage : integer := x33v; arch : integer := 0);  port (pad : in std_ulogic; o : out std_ulogic);end; architecture rtl of virtex_clkpad is  component IBUFG  generic(      CAPACITANCE : string := "DONT_CARE"; IOSTANDARD : string := "LVCMOS25");    port (O : out std_logic; I : in std_logic); end component;  component IBUF generic(      CAPACITANCE : string := "DONT_CARE"; IOSTANDARD : string := "LVCMOS25");    port (O : out std_ulogic; I : in std_ulogic); end component;  component BUFGMUX port (O : out std_logic; I0, I1, S : in std_logic); end component;  component BUFG port (O : out std_logic; I : in std_logic); end component;signal gnd, ol : std_ulogic;begin  gnd <= '0';  g0 : if arch = 0 generate    pci0 : if level = pci33 generate      pci_5 : if voltage = x50v generate        ip : IBUFG generic map (IOSTANDARD => "PCI33_5") port map (O => o, I => pad);      end generate;      pci_3 : if voltage /= x50v generate        ip : IBUFG generic map (IOSTANDARD => "PCI33_3") port map (O => o, I => pad);      end generate;    end generate;    ttl0 : if level = ttl generate      ip : IBUFG generic map (IOSTANDARD => "LVTTL") port map (O => o, I => pad);    end generate;    cmos0 : if level = cmos generate	  cmos_33 : if voltage = x33v generate        ip : IBUFG generic map (IOSTANDARD => "LVCMOS33") port map (O => o, I => pad);      end generate;      cmos_25 : if voltage /= x33v generate        ip : IBUFG generic map (IOSTANDARD => "LVCMOS25") port map (O => o, I => pad);      end generate;    end generate;    sstl2 : if level = sstl2_ii generate      ip : IBUFG generic map (IOSTANDARD => "SSTL2_II") port map (O => o, I => pad);    end generate;    gen0 : if (level /= pci33) and (level /= ttl) and (level /= cmos) and (level /= sstl2_ii) generate      ip : IBUFG port map (O => o, I => pad);    end generate;  end generate;  g1 : if arch = 1 generate    pci0 : if level = pci33 generate      pci_5 : if voltage = x50v generate        ip : IBUF generic map (IOSTANDARD => "PCI33_5") port map (O => ol, I => pad);        bf : BUFGMUX port map (O => o, I0 => ol, I1 => gnd, S => gnd);      end generate;      pci_3 : if voltage /= x50v generate        ip : IBUF generic map (IOSTANDARD => "PCI33_3") port map (O => ol, I => pad);        bf : BUFGMUX port map (O => o, I0 => ol, I1 => gnd, S => gnd);      end generate;    end generate;    ttl0 : if level = ttl generate      ip : IBUF generic map (IOSTANDARD => "LVTTL") port map (O => ol, I => pad);      bf : BUFGMUX port map (O => o, I0 => ol, I1 => gnd, S => gnd);    end generate;    cmos0 : if level = cmos generate      ip : IBUF generic map (IOSTANDARD => "LVCMOS33") port map (O => ol, I => pad);      bf : BUFGMUX port map (O => o, I0 => ol, I1 => gnd, S => gnd);    end generate;    gen0 : if (level /= pci33) and (level /= ttl) and (level /= cmos) generate      ip : IBUF port map (O => ol, I => pad);      bf : BUFGMUX port map (O => o, I0 => ol, I1 => gnd, S => gnd);    end generate;  end generate;  g2 : if arch = 2 generate    pci0 : if level = pci33 generate      pci_5 : if voltage = x50v generate        ip : IBUFG generic map (IOSTANDARD => "PCI33_5") port map (O => ol, I => pad);        bf : BUFG port map (O => o, I => ol);      end generate;      pci_3 : if voltage /= x50v generate        ip : IBUFG generic map (IOSTANDARD => "PCI33_3") port map (O => ol, I => pad);        bf : BUFG port map (O => o, I => ol);      end generate;    end generate;    ttl0 : if level = ttl generate      ip : IBUFG generic map (IOSTANDARD => "LVTTL") port map (O => ol, I => pad);      bf : BUFG port map (O => o, I => ol);    end generate;    cmos0 : if level = cmos generate      ip : IBUFG generic map (IOSTANDARD => "LVCMOS33") port map (O => ol, I => pad);      bf : BUFG port map (O => o, I => ol);    end generate;    gen0 : if (level /= pci33) and (level /= ttl) and (level /= cmos) generate      ip : IBUFG port map (O => ol, I => pad);      bf : BUFG port map (O => o, I => ol);    end generate;  end generate;end; library ieee;use ieee.std_logic_1164.all;library techmap;use techmap.gencomp.all;-- pragma translate_offlibrary unisim;use unisim.OBUFDS_LVDS_25;use unisim.OBUFDS_LVDS_33;-- pragma translate_onentity virtex_outpad_ds  is  generic (level : integer := lvds; voltage : integer := x33v);  port (padp, padn : out std_ulogic; i : in std_ulogic);end ;architecture rtl of virtex_outpad_ds is  component OBUFDS_LVDS_25     port ( O : out std_ulogic; OB : out std_ulogic; I : in std_ulogic);  end component;  component OBUFDS_LVDS_33     port ( O : out std_ulogic; OB : out std_ulogic; I : in std_ulogic);  end component;begin  xlvds : if level = lvds generate    lvds_33 : if voltage = x33v generate      op : OBUFDS_LVDS_33 port map (O => padp, OB => padn, I => i);    end generate;    lvds_25 : if voltage /= x33v generate      op : OBUFDS_LVDS_25 port map (O => padp, OB => padn, I => i);    end generate;  end generate;end;library ieee;use ieee.std_logic_1164.all;library techmap;use techmap.gencomp.all;-- pragma translate_offlibrary unisim;use unisim.IBUFDS_LVDS_25;use unisim.IBUFDS_LVDS_33;-- pragma translate_onentity virtex_inpad_ds is  generic (level : integer := lvds; voltage : integer := x33v);  port (padp, padn : in std_ulogic; o : out std_ulogic);end; architecture rtl of virtex_inpad_ds is  component IBUFDS_LVDS_25     port ( O : out std_ulogic; I : in std_ulogic; IB : in std_ulogic);  end component;  component IBUFDS_LVDS_33     port ( O : out std_ulogic; I : in std_ulogic; IB : in std_ulogic);  end component;begin  xlvds : if level = lvds generate    lvds_33 : if voltage = x33v generate      ip : IBUFDS_LVDS_33 port map (O => o, I => padp, IB => padn);    end generate;    lvds_25 : if voltage /= x33v generate      ip : IBUFDS_LVDS_25 port map (O => o, I => padp, IB => padn);    end generate;  end generate;  beh : if level /= lvds generate    o <= padp after 1 ns;  end generate;end;library ieee;use ieee.std_logic_1164.all;library techmap;use techmap.gencomp.all;-- pragma translate_offlibrary unisim;use unisim.IBUFGDS_LVDS_25;use unisim.IBUFGDS_LVDS_33;-- pragma translate_onentity virtex_clkpad_ds is  generic (level : integer := lvds; voltage : integer := x33v);  port (padp, padn : in std_ulogic; o : out std_ulogic);end; architecture rtl of virtex_clkpad_ds is  component IBUFGDS_LVDS_25     port ( O : out std_ulogic; I : in std_ulogic; IB : in std_ulogic);  end component;  component IBUFGDS_LVDS_33     port ( O : out std_ulogic; I : in std_ulogic; IB : in std_ulogic);  end component;begin  xlvds : if level = lvds generate    lvds_33 : if voltage = x33v generate      ip : IBUFGDS_LVDS_33 port map (O => o, I => padp, IB => padn);    end generate;    lvds_25 : if voltage /= x33v generate      ip : IBUFGDS_LVDS_25 port map (O => o, I => padp, IB => padn);    end generate;  end generate;  beh : if level /= lvds generate    o <= padp after 1 ns;  end generate;end;library ieee;use ieee.std_logic_1164.all;library techmap;use techmap.gencomp.all;-- pragma translate_offlibrary unisim;use unisim.IBUFDS;-- pragma translate_onentity virtex4_inpad_ds is  generic (level : integer := lvds; voltage : integer := x33v);  port (padp, padn : in std_ulogic; o : out std_ulogic);end; architecture rtl of virtex4_inpad_ds is  component IBUFDS  generic ( CAPACITANCE : string := "DONT_CARE";	DIFF_TERM : boolean := FALSE; IBUF_DELAY_VALUE : string := "0";	IFD_DELAY_VALUE : string := "AUTO"; IOSTANDARD : string := "DEFAULT");     port ( O : out std_ulogic; I : in std_ulogic; IB : in std_ulogic);  end component;begin  xlvds : if level = lvds generate    lvds_33 : if voltage = x33v generate      ip : IBUFDS generic map (DIFF_TERM => true, IOSTANDARD =>"LVDS_33")	   port map (O => o, I => padp, IB => padn);    end generate;    lvds_25 : if voltage /= x33v generate      ip : IBUFDS generic map (DIFF_TERM => true, IOSTANDARD =>"LVDS_25")	   port map (O => o, I => padp, IB => padn);    end generate;  end generate;  beh : if level /= lvds generate    o <= padp after 1 ns;  end generate;end;library ieee;use ieee.std_logic_1164.all;library techmap;use techmap.gencomp.all;-- pragma translate_offlibrary unisim;use unisim.IBUFGDS;-- pragma translate_onentity virtex4_clkpad_ds is  generic (level : integer := lvds; voltage : integer := x33v);  port (padp, padn : in std_ulogic; o : out std_ulogic);end; architecture rtl of virtex4_clkpad_ds is  component IBUFGDS  generic ( CAPACITANCE : string := "DONT_CARE";	DIFF_TERM : boolean := FALSE; IBUF_DELAY_VALUE : string := "0";	IOSTANDARD : string := "DEFAULT");     port ( O : out std_ulogic; I : in std_ulogic; IB : in std_ulogic);  end component;begin  xlvds : if level = lvds generate    lvds_33 : if voltage = x33v generate      ip : IBUFGDS generic map (DIFF_TERM => true, IOSTANDARD =>"LVDS_33")	   port map (O => o, I => padp, IB => padn);    end generate;    lvds_25 : if voltage /= x33v generate      ip : IBUFGDS generic map (DIFF_TERM => true, IOSTANDARD =>"LVDS_25")	   port map (O => o, I => padp, IB => padn);    end generate;  end generate;  beh : if level /= lvds generate    o <= padp after 1 ns;  end generate;end;

⌨️ 快捷键说明

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