Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to avoid glitches

Status
Not open for further replies.

s3034585

Full Member level 4
Joined
May 24, 2004
Messages
226
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,296
Activity points
2,087
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
 

Hi!

If r3 is register, you have to put it on process! In other case it will be latch.

process(clk,reset)
begin
if reset = '1' then
--reset r3
elsif (clk 'event and clk '1' ) then
if flag='0' then -- if flag asserted
-- shift r3 instance
end if;
end if;
end process


Have a nice day!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top