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.

HSPICE D Flip Flop hold rise (it rises and fall back!)

Status
Not open for further replies.

xyy

Newbie level 2
Joined
Sep 2, 2015
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
20
Hi, recently I tried to simulate d-flip flop in HSPICE. I follow steps from this website (https://wenku.baidu.com/view/7843ef0bbb68a98271fefac4). I try to implement it in my netlist and it worked except for hold rise. I cant figure what's the problem, is it my code or the d-flip flop is acting weird.

Here's the screenshot of the waveforms:
help.jpg

And my HSPICE code for bisection method:
Code:
.tran 1f 10n sweep optimize=opt1 result=clk_to_q model=optmod
.model optmod opt method=passfail
.param t_hold=opt1(1.0ns, '-1.0*t_setup+trf_data+1fs', 1.0ns)

.measure tran clk_to_q
+ trig v(CK) val='v(vdd)/2.0' rise=1
+ targ v(Q) val='v(vdd)/2.0' rise=1
+ pushout_per=0.1 upper

So my question, is it my d-flip flop got problem or my code? Is there any way to maintain the output voltage so that it stays at high until end?

Thanks.
 

gs65

Member level 1
Joined
Sep 9, 2014
Messages
39
Helped
11
Reputation
22
Reaction score
11
Trophy points
8
Location
Bangalore,India
Activity points
199
hi,
i guess some problem with your code, send the code of d flipflop. the code which you have attached does not contain line related to d flipflop
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
48,399
Helped
14,251
Reputation
28,763
Reaction score
12,939
Trophy points
1,393
Location
Bochum, Germany
Activity points
280,092
At first sight, it looks like a trivial setup or hold time violation. Did you check with setting d earlier and holding it longer?
 

xyy

Newbie level 2
Joined
Sep 2, 2015
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
20
The problem is the setup time. I use pushout 1% during simulation of setup time, then when I used back value I get to calculate hold time the output will be same as the picture.

So I ran the simulation again without any pushout, means the max time for setup time. Used that value for hold time which gave me the stable output. :-D
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top