s3034585
Full Member level 4
hi
i wanted to know one thing that is i am trying to xor 3 bits of 3 register out of which 2 register are shifted on every clk edge and the third one is updated without clk just like a combinational logic. now when i xor these 3 bits due to delta delay diff in between updation of these 3 registers i get a glitch in the xored result because of which it calculates a wrong value.
can you tell me how to avoid this glicth...
eg
shift r3 on a flag ( this is out of process);
xorresult <= r1(1) xor r2(1) xor r3(1); ------------- here i am getting a glitch because of delta delay
process(clk,reset)
begin
if reset = '1' then
reset ---- all
elsif (clk 'event and clk '1' ) then
shift===> r1 and r2
end if;
end process
i wanted to know one thing that is i am trying to xor 3 bits of 3 register out of which 2 register are shifted on every clk edge and the third one is updated without clk just like a combinational logic. now when i xor these 3 bits due to delta delay diff in between updation of these 3 registers i get a glitch in the xored result because of which it calculates a wrong value.
can you tell me how to avoid this glicth...
eg
shift r3 on a flag ( this is out of process);
xorresult <= r1(1) xor r2(1) xor r3(1); ------------- here i am getting a glitch because of delta delay
process(clk,reset)
begin
if reset = '1' then
reset ---- all
elsif (clk 'event and clk '1' ) then
shift===> r1 and r2
end if;
end process