Is it just me or does the whole world hate it when the defaults on a new release changes.
ISE 6.3 now defaults all IO to lvcmos_25. I now have a whole host of vhdl that I maintain that will not just compile. If I need to make a trivial change then I have to check carefully. I can live with this today because I know that I need to do this. Next time though I may or may not remember this new setting and I will not remember whether the code has been modified to give me lvcmos33 (the old default).
On a somewhat related subject I have fiddled with setting the iostandard in VHDL. There are examples of instantiating an IOB and then setting the IOB to whatever standard but what about a simple net out of the top level entity with IOB created by synthesis. I presume that this is trivial but I haven't been successfull. Can someone please help? Colin
-- I/O pin attribute example for Xilinx Spartan3 eval kit
-- entity ram_test is port (
--
-- default clock osc.
-- clk50_in : in std_logic;
--
-- 4 pushbuttons, 8 slide switches
-- pb : in std_logic_vector(3 downto 0); sw : in std_logic_vector(7 downto 0);
--
-- individual leds
-- led : out std_logic_vector(7 downto 0);
--
-- muxed seven segment LEDs
-- digit : out std_logic_vector(3 downto 0);
seg_a : out std_logic; seg_b : out std_logic; seg_c : out std_logic; seg_d : out std_logic; seg_e : out std_logic; seg_f : out std_logic; seg_g : out std_logic; seg_dp : out std_logic;
--
-- SRAM signals
--
--
-- shared control and address
-- ram_we_l : out std_logic; ram_oe_l : out std_logic; ram_addr : out std_logic_vector(17 downto 0);
--
-- per-bank SRAM signals
-- ram_a_dat : inout std_logic_vector(15 downto 0); ram_a_ce_l : out std_logic; ram_a_ub : out std_logic; ram_a_lb : out std_logic;
ram_b_dat : inout std_logic_vector(15 downto 0); ram_b_ce_l : out std_logic; ram_b_ub : out std_logic; ram_b_lb : out std_logic
attribute loc of clk50_in : signal is "t9"; attribute iostandard of clk50_in : signal is "LVCMOS33";
attribute loc of pb : signal is "l14,l13,m14,m13"; attribute iostandard of pb : signal is "LVCMOS33";
attribute loc of sw : signal is "k13,k14,j13,j14,h13,h14,g12,f12"; attribute iostandard of sw : signal is "LVCMOS33";
attribute loc of led : signal is "p11,p12,n12,p13,n14,l12,p14,k12"; attribute iostandard of led : signal is "LVCMOS33"; attribute slew of led : signal is "SLOW";
attribute loc of digit : signal is "e13,f14,g14,d14"; attribute iostandard of digit : signal is "LVCMOS33"; attribute slew of digit : signal is "SLOW";
attribute loc of seg_a : signal is "e14"; attribute iostandard of seg_a : signal is "LVCMOS33"; attribute slew of seg_a : signal is "SLOW";
attribute loc of seg_b : signal is "g13"; attribute iostandard of seg_b : signal is "LVCMOS33"; attribute slew of seg_b : signal is "SLOW";
attribute loc of seg_c : signal is "n15"; attribute iostandard of seg_c : signal is "LVCMOS33"; attribute slew of seg_c : signal is "SLOW";
attribute loc of seg_d : signal is "p15"; attribute iostandard of seg_d : signal is "LVCMOS33"; attribute slew of seg_d : signal is "SLOW";
attribute loc of seg_e : signal is "r16"; attribute iostandard of seg_e : signal is "LVCMOS33"; attribute slew of seg_e : signal is "SLOW";
attribute loc of seg_f : signal is "f13"; attribute iostandard of seg_f : signal is "LVCMOS33"; attribute slew of seg_f : signal is "SLOW";
attribute loc of seg_g : signal is "n16"; attribute iostandard of seg_g : signal is "LVCMOS33"; attribute slew of seg_g : signal is "SLOW";
attribute loc of seg_dp : signal is "p16"; attribute iostandard of seg_dp : signal is "LVCMOS33"; attribute slew of seg_dp : signal is "SLOW";
attribute loc of ram_addr : signal is "l3,k5,k3,j3,j4,h4,h3,g5,e4,e3,f4,f3,g4,l4,m3,m4,n3,l5"; attribute iostandard of ram_addr : signal is "LVCMOS33"; attribute slew of ram_addr : signal is "SLOW"; attribute drive of ram_addr : signal is "24";
attribute loc of ram_we_l : signal is "g3"; attribute iostandard of ram_we_l : signal is "LVCMOS33"; attribute slew of ram_we_l : signal is "FAST"; attribute drive of ram_we_l : signal is "24";
attribute loc of ram_oe_l : signal is "k4"; attribute iostandard of ram_oe_l : signal is "LVCMOS33"; attribute slew of ram_oe_l : signal is "SLOW"; attribute drive of ram_oe_l : signal is "12";
attribute loc of ram_a_dat : signal is "r1,p1,l2,j2,h1,f2,p8,d3,b1,c1,c2,r5,t5,r6,t8,n7"; attribute iostandard of ram_a_dat : signal is "LVCMOS33"; attribute slew of ram_a_dat : signal is "SLOW"; attribute drive of ram_a_dat : signal is "6";
attribute loc of ram_a_ce_l : signal is "p7"; attribute iostandard of ram_a_ce_l : signal is "LVCMOS33"; attribute slew of ram_a_ce_l : signal is "SLOW"; attribute drive of ram_a_ce_l : signal is "12";
attribute loc of ram_a_lb : signal is "p6"; attribute iostandard of ram_a_lb : signal is "LVCMOS33"; attribute slew of ram_a_lb : signal is "SLOW"; attribute drive of ram_a_lb : signal is "12";
attribute loc of ram_a_ub : signal is "t4"; attribute iostandard of ram_a_ub : signal is "LVCMOS33"; attribute slew of ram_a_ub : signal is "SLOW"; attribute drive of ram_a_ub : signal is "12";
attribute loc of ram_b_dat : signal is "n1,m1,k2,c3,f5,g1,e2,d2,d1,e1,g2,j1,k1,m2,n2,p2"; attribute iostandard of ram_b_dat : signal is "LVCMOS33"; attribute slew of ram_b_dat : signal is "SLOW"; attribute drive of ram_b_dat : signal is "6";
attribute loc of ram_b_ce_l : signal is "n5"; attribute iostandard of ram_b_ce_l : signal is "LVCMOS33"; attribute slew of ram_b_ce_l : signal is "SLOW"; attribute drive of ram_b_ce_l : signal is "12";
attribute loc of ram_b_lb : signal is "p5"; attribute iostandard of ram_b_lb : signal is "LVCMOS33"; attribute slew of ram_b_lb : signal is "SLOW"; attribute drive of ram_b_lb : signal is "12";
attribute loc of ram_b_ub : signal is "r4"; attribute iostandard of ram_b_ub : signal is "LVCMOS33"; attribute slew of ram_b_ub : signal is "SLOW"; attribute drive of ram_b_ub : signal is "12";
-- I/O pin attribute example for Xilinx Spartan3 eval kit
-- entity ram_test is port (
--
-- default clock osc.
-- clk50_in : in std_logic;
--
-- 4 pushbuttons, 8 slide switches
-- pb : in std_logic_vector(3 downto 0); sw : in std_logic_vector(7 downto 0);
--
-- individual leds
-- led : out std_logic_vector(7 downto 0);
--
-- muxed seven segment LEDs
-- digit : out std_logic_vector(3 downto 0);
seg_a : out std_logic; seg_b : out std_logic; seg_c : out std_logic; seg_d : out std_logic; seg_e : out std_logic; seg_f : out std_logic; seg_g : out std_logic; seg_dp : out std_logic;
--
-- SRAM signals
--
--
-- shared control and address
-- ram_we_l : out std_logic; ram_oe_l : out std_logic; ram_addr : out std_logic_vector(17 downto 0);
--
-- per-bank SRAM signals
-- ram_a_dat : inout std_logic_vector(15 downto 0); ram_a_ce_l : out std_logic; ram_a_ub : out std_logic; ram_a_lb : out std_logic;
ram_b_dat : inout std_logic_vector(15 downto 0); ram_b_ce_l : out std_logic; ram_b_ub : out std_logic; ram_b_lb : out std_logic
attribute loc of clk50_in : signal is "t9"; attribute iostandard of clk50_in : signal is "LVCMOS33";
attribute loc of pb : signal is "l14,l13,m14,m13"; attribute iostandard of pb : signal is "LVCMOS33";
attribute loc of sw : signal is "k13,k14,j13,j14,h13,h14,g12,f12"; attribute iostandard of sw : signal is "LVCMOS33";
attribute loc of led : signal is "p11,p12,n12,p13,n14,l12,p14,k12"; attribute iostandard of led : signal is "LVCMOS33"; attribute slew of led : signal is "SLOW";
attribute loc of digit : signal is "e13,f14,g14,d14"; attribute iostandard of digit : signal is "LVCMOS33"; attribute slew of digit : signal is "SLOW";
attribute loc of seg_a : signal is "e14"; attribute iostandard of seg_a : signal is "LVCMOS33"; attribute slew of seg_a : signal is "SLOW";
attribute loc of seg_b : signal is "g13"; attribute iostandard of seg_b : signal is "LVCMOS33"; attribute slew of seg_b : signal is "SLOW";
attribute loc of seg_c : signal is "n15"; attribute iostandard of seg_c : signal is "LVCMOS33"; attribute slew of seg_c : signal is "SLOW";
attribute loc of seg_d : signal is "p15"; attribute iostandard of seg_d : signal is "LVCMOS33"; attribute slew of seg_d : signal is "SLOW";
attribute loc of seg_e : signal is "r16"; attribute iostandard of seg_e : signal is "LVCMOS33"; attribute slew of seg_e : signal is "SLOW";
attribute loc of seg_f : signal is "f13"; attribute iostandard of seg_f : signal is "LVCMOS33"; attribute slew of seg_f : signal is "SLOW";
attribute loc of seg_g : signal is "n16"; attribute iostandard of seg_g : signal is "LVCMOS33"; attribute slew of seg_g : signal is "SLOW";
attribute loc of seg_dp : signal is "p16"; attribute iostandard of seg_dp : signal is "LVCMOS33"; attribute slew of seg_dp : signal is "SLOW";
attribute loc of ram_addr : signal is "l3,k5,k3,j3,j4,h4,h3,g5,e4,e3,f4,f3,g4,l4,m3,m4,n3,l5"; attribute iostandard of ram_addr : signal is "LVCMOS33"; attribute slew of ram_addr : signal is "SLOW"; attribute drive of ram_addr : signal is "24";
attribute loc of ram_we_l : signal is "g3"; attribute iostandard of ram_we_l : signal is "LVCMOS33"; attribute slew of ram_we_l : signal is "FAST"; attribute drive of ram_we_l : signal is "24";
attribute loc of ram_oe_l : signal is "k4"; attribute iostandard of ram_oe_l : signal is "LVCMOS33"; attribute slew of ram_oe_l : signal is "SLOW"; attribute drive of ram_oe_l : signal is "12";
attribute loc of ram_a_dat : signal is "r1,p1,l2,j2,h1,f2,p8,d3,b1,c1,c2,r5,t5,r6,t8,n7"; attribute iostandard of ram_a_dat : signal is "LVCMOS33"; attribute slew of ram_a_dat : signal is "SLOW"; attribute drive of ram_a_dat : signal is "6";
attribute loc of ram_a_ce_l : signal is "p7"; attribute iostandard of ram_a_ce_l : signal is "LVCMOS33"; attribute slew of ram_a_ce_l : signal is "SLOW"; attribute drive of ram_a_ce_l : signal is "12";
attribute loc of ram_a_lb : signal is "p6"; attribute iostandard of ram_a_lb : signal is "LVCMOS33"; attribute slew of ram_a_lb : signal is "SLOW"; attribute drive of ram_a_lb : signal is "12";
attribute loc of ram_a_ub : signal is "t4"; attribute iostandard of ram_a_ub : signal is "LVCMOS33"; attribute slew of ram_a_ub : signal is "SLOW"; attribute drive of ram_a_ub : signal is "12";
attribute loc of ram_b_dat : signal is "n1,m1,k2,c3,f5,g1,e2,d2,d1,e1,g2,j1,k1,m2,n2,p2"; attribute iostandard of ram_b_dat : signal is "LVCMOS33"; attribute slew of ram_b_dat : signal is "SLOW"; attribute drive of ram_b_dat : signal is "6";
attribute loc of ram_b_ce_l : signal is "n5"; attribute iostandard of ram_b_ce_l : signal is "LVCMOS33"; attribute slew of ram_b_ce_l : signal is "SLOW"; attribute drive of ram_b_ce_l : signal is "12";
attribute loc of ram_b_lb : signal is "p5"; attribute iostandard of ram_b_lb : signal is "LVCMOS33"; attribute slew of ram_b_lb : signal is "SLOW"; attribute drive of ram_b_lb : signal is "12";
attribute loc of ram_b_ub : signal is "r4"; attribute iostandard of ram_b_ub : signal is "LVCMOS33"; attribute slew of ram_b_ub : signal is "SLOW"; attribute drive of ram_b_ub : signal is "12";
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.