Version 4 SHEET 1 952 1188 WIRE -512 -32 -512 -64 WIRE -512 80 -512 48 WIRE -512 256 -512 224 WIRE -512 368 -512 336 WIRE -432 224 -512 224 WIRE -368 -112 -416 -112 WIRE -368 -64 -512 -64 WIRE -368 -64 -368 -112 WIRE -240 -64 -368 -64 WIRE -240 128 -240 -64 WIRE -192 224 -432 224 WIRE -192 224 -192 0 WIRE -144 -64 -240 -64 WIRE -144 0 -192 0 WIRE -144 128 -240 128 WIRE -144 224 -192 224 WIRE 96 -16 32 -16 WIRE 96 176 32 176 FLAG -512 80 0 FLAG -512 368 0 FLAG -432 224 c1 FLAG -416 -112 in IOPIN -416 -112 In FLAG 96 -16 out IOPIN 96 -16 Out FLAG 96 176 out2 IOPIN 96 176 Out SYMBOL voltage -512 -48 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value SINE(0 1 50) SYMBOL voltage -512 240 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value PULSE(0 1 0 {TT} {TT} {Ts/2} {Ts}) SYMBOL sample -64 -32 R0 SYMATTR InstName A1 SYMBOL sample -64 160 R0 SYMATTR InstName A2 TEXT -728 -320 Left 0 !.options plotwinsize=0 TEXT -728 -504 Left 0 !.param Ts=1m TEXT -552 -504 Left 0 ;<- enter sampling period TEXT -240 -560 Left 0 ;Zero-Order Hold\nUsing the non documented A-device SMAPLEHOLD.\n \nTwo ways to use the A-device SAMPLEHOLD:\n1. Put an edge on the CLK pin. It samples at the clk rising edge.\n2. Put a level on the S/H pin. It follows while high, holds when low.\n \n3.The important parameter is the rise and fall time Ts*1e-6.\n I's also named the transition time TT in this example.\n This gives high precision at fastest simulation speed. TEXT -728 -400 Left 0 ;.options trtol=1e-4 ;does the job TEXT -728 -552 Left 0 !.tran 0 20m 0 TEXT 64 -48 Left 0 ;Zero-order hold TEXT 56 136 Left 0 ;Track and hold TEXT -728 -360 Left 0 ;.options reltol=1E-7 ;works too TEXT -728 -456 Left 0 !.param TT=if((Ts*1e-6)<1p, 1p, {Ts*1e-6})