default changes with new release

All

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

Reply to
colin_toogood
Loading thread data ...

See example below

Brian

--

-- 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 : string ; attribute slew : string ; attribute drive : string ; attribute iostandard : string ;

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";

end ram_test;

Reply to
Brian Davis

See example below

Brian

--

-- 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 : string ; attribute slew : string ; attribute drive : string ; attribute iostandard : string ;

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";

end ram_test;

Reply to
Brian Davis

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.