05-07-2009 06:51 AM
i am implementing algorithm in vhdl using ise webpack 10.1 aqnd simulating on Modelsim , which requires 32 bit input and 32 bit output
but output varies for 132 ps and then stables down. as all 32 bits at a time do not changes state so the glitches come in output .
so i am attaching image please do suggest me how to overcome this problem. i am using vertex II pro device. also tested same in spartan3e device gives glitched output for 1.8ns
or it is a device limitation? or anything else?
output_register: register32 port map(
clk => clk,
rstn => rstn,
Input => ctOutReg,
output => ctOut
);
-- register port map
entity register32 is
port(clk,rstn : in std_logic;
input : in std_logic_vector(31 downto 0);
output : out std_logic_vector(31 downto 0)
);
end register32;
architecture Behavioral of register32 is
begin
process(clk,rstn)
begin
if (rstn='1') then
output <= x"00000000";
elsif (clk'event and clk='1') then
output <= input;
end if;
end process;
end Behavioral;
as shown i used the register of 32 bit.
05-08-2009 09:58 AM
You still didn't mention if this is a functional or back-annotated timing simulation and if this is the entire design.
Different routing delays from the register stages to the output pads could explain this. If you've implemented the design, you should also check the map report (mrp) to see if the input and output register stages are packed into the IOBs. But if this is the entire design, they can't be and the peripheral timing will change from implementation run to run.
bt
05-07-2009 12:44 PM
Check your timing report. It will probably show the 132pS of timing variation you are experiencing. Maybe you can put timing constraints on your signals so they all come out at 140pS or something like that. I haven't done any asynchronous design but it looks interesting! I may have an application coming soon so please post your fix when you get this figured out.
John D
05-08-2009 01:30 AM
Your picture didn't come through so it isn't clear from you mean by "glitches come in output"
Are you doing a functional or back-annotated timing simulation?
If this is your entire design, consider that an ideal FPGA design would register all of the inputs and all of the outputs in the IOB registers. Otherwise routing delays to the fabric will effect your peripheral timing.
bt
05-08-2009 04:21 AM
Please can any body help me and tell how to uplaod image which is on your local drive
as per options available it asks for url of image location so please do help me
?
?
05-08-2009 05:36 AM
05-08-2009 06:48 AM
05-08-2009 09:58 AM
You still didn't mention if this is a functional or back-annotated timing simulation and if this is the entire design.
Different routing delays from the register stages to the output pads could explain this. If you've implemented the design, you should also check the map report (mrp) to see if the input and output register stages are packed into the IOBs. But if this is the entire design, they can't be and the peripheral timing will change from implementation run to run.
bt
05-10-2009 10:12 PM
yes this is complete design output and simualtion is back-annotated timing simulation.
and also i tried to place the ctout<0:31> in IOB using PACE it has given me improvement in the glitch part for device spartan 3e 1600 fg320 -4 as from 1.8 ns to 1.0 ns so improvement of 800 ps.
so plase do suggest how to minimze the same further with some techniques.