The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 16th, 2024, 6:36am
Pages: 1
Send Topic Print
cannot filter out short pulses (Read 768 times)
Pavel
Senior Member
****
Offline



Posts: 174
Lausanne/Switzerland
cannot filter out short pulses
Jul 27th, 2010, 12:50am
 
Hello,

I want my latch to filter out short pulses (shorter than 0.15ns).
But in spite of standard it doesn't. Here is code:

Code:
`timescale 1 ns / 1 ps

module Latch(nD, nGate, Q);
  input nD, nGate;
  output reg Q;
  
  always @(nGate, nD)
      if(nGate == 0) Q <= ~nD;
      else Q <= Q;
        
  specify
      specparam tRise_nGate_Q = 0.15, tFall_nGate_Q = 0.2;
      (negedge nGate *> (Q+:nD)) = (tRise_nGate_Q, tFall_nGate_Q);
  endspecify

endmodule 



Where is my mistake ?

Thanks,

Pavel.
Back to top
 
 
View Profile   IP Logged
Marq Kole
Senior Member
****
Offline

Hmmm. That's
weird...

Posts: 122
Eindhoven, The Netherlands
Re: cannot filter out short pulses
Reply #1 - Aug 3rd, 2010, 7:17am
 
You might want to have a look at the PATHPULSE$ specparam (section 14.6.1 of the 1364-2005 IEEE Verilog LRM) which explains how to filter out short pulses with the specify block.

Cheers,
Marq
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: cannot filter out short pulses
Reply #2 - Aug 3rd, 2010, 10:37am
 
I tend to use the inertial delay of the continuous assignment statement to filter out short pulses. You might want to try that.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.