Version 4 SHEET 1 2936 3384 WIRE -176 928 -176 960 WIRE -128 64 -128 16 WIRE -128 -64 -128 -96 WIRE -128 -96 -80 -96 WIRE -176 848 -176 800 WIRE -176 800 -144 800 WIRE -144 800 -128 800 WIRE -176 512 -176 480 WIRE -176 592 -176 624 WIRE -176 480 -112 480 WIRE 448 16 448 64 WIRE 448 -64 448 -96 WIRE 448 -96 496 -96 WIRE -176 1904 -176 1952 WIRE -176 1824 -176 1792 WIRE -176 1792 -96 1792 WIRE 352 1904 352 1952 WIRE 352 1824 352 1792 WIRE 352 1792 432 1792 WIRE 864 1904 864 1952 WIRE 864 1824 864 1792 WIRE 864 1792 944 1792 WIRE -176 2128 -176 2176 WIRE -176 2048 -176 2016 WIRE -176 2016 -96 2016 WIRE 352 2128 352 2176 WIRE 352 2048 352 2016 WIRE 352 2016 432 2016 WIRE 1072 2304 1008 2304 WIRE 1072 2400 1008 2400 WIRE 1072 2496 1008 2496 WIRE 1072 2592 1008 2592 WIRE 1072 2688 1008 2688 WIRE 1152 2304 1232 2304 WIRE 1232 2304 1232 2400 WIRE 1232 2688 1152 2688 WIRE 1152 2592 1232 2592 WIRE 1232 2592 1232 2688 WIRE 1152 2496 1232 2496 WIRE 1232 2496 1232 2592 WIRE 1152 2400 1232 2400 WIRE 1232 2400 1232 2496 WIRE -176 1216 -176 1248 WIRE -176 1136 -176 1104 WIRE -176 1104 -128 1104 WIRE -64 1520 -64 1472 WIRE -64 1472 48 1472 WIRE -64 1600 -64 1648 WIRE 224 1536 224 1472 WIRE 224 1472 128 1472 WIRE 224 1472 272 1472 WIRE 352 1472 384 1472 WIRE 384 1472 384 1536 WIRE 224 1648 224 1600 WIRE 384 1648 384 1600 WIRE 384 1472 432 1472 WIRE 512 1472 544 1472 WIRE 544 1472 544 1536 WIRE 544 1648 544 1600 WIRE 544 1472 592 1472 WIRE 672 1472 704 1472 WIRE 704 1472 704 1536 WIRE 704 1648 704 1600 WIRE 704 1472 752 1472 WIRE 832 1472 864 1472 WIRE 864 1472 864 1536 WIRE 864 1648 864 1600 WIRE 864 1472 912 1472 WIRE 992 1472 1024 1472 WIRE 1024 1472 1024 1536 WIRE 1024 1648 1024 1600 WIRE 1024 1472 1152 1472 WIRE 1152 1472 1152 1520 WIRE 1152 1600 1152 1648 WIRE 720 304 720 272 WIRE 720 272 688 272 WIRE 608 272 576 272 WIRE 720 400 720 368 WIRE 720 272 848 272 WIRE 848 320 848 352 WIRE 896 336 896 352 WIRE 896 256 896 240 WIRE 896 240 976 240 WIRE 976 240 976 272 WIRE 976 272 992 272 WIRE 1072 272 1104 272 WIRE 1184 272 1200 272 WIRE 1200 320 1200 272 WIRE 1200 272 1248 272 WIRE 1200 416 1200 384 WIRE 1248 272 1296 272 WIRE 496 272 432 272 WIRE 512 320 512 352 WIRE 1008 320 1008 352 WIRE 560 368 560 320 WIRE 560 448 560 480 WIRE 1056 448 1056 480 WIRE 1056 368 1056 320 WIRE 560 992 560 944 WIRE 560 944 528 944 WIRE 448 944 416 944 WIRE 560 1072 560 1056 WIRE 560 944 656 944 WIRE 656 992 656 1024 WIRE 704 1008 704 1024 WIRE 704 928 704 912 WIRE 704 912 784 912 WIRE 784 912 784 944 WIRE 784 944 832 944 WIRE 912 944 944 944 WIRE 1024 944 1040 944 WIRE 1040 992 1040 944 WIRE 1040 944 1152 944 WIRE 1040 1072 1040 1056 WIRE 336 944 256 944 WIRE 352 992 352 1008 WIRE 848 992 848 1024 WIRE 400 1040 400 992 WIRE 400 1120 400 1136 WIRE 896 1120 896 1136 WIRE 896 1040 896 992 WIRE 256 2368 224 2368 WIRE -128 2336 -176 2336 WIRE 416 2368 464 2368 WIRE -176 2384 -176 2336 WIRE -176 2464 -176 2496 WIRE 256 2416 224 2416 WIRE 256 2608 224 2608 WIRE 416 2608 464 2608 WIRE 256 2656 224 2656 WIRE 656 2368 624 2368 WIRE 816 2368 864 2368 WIRE 656 2416 624 2416 WIRE 656 2608 624 2608 WIRE 816 2608 864 2608 WIRE 656 2656 624 2656 WIRE -144 2608 -176 2608 WIRE 16 2608 64 2608 WIRE -144 2656 -176 2656 WIRE 1232 2496 1264 2496 WIRE 1152 992 1152 1024 WIRE 1200 1008 1200 1024 WIRE 1200 928 1200 912 WIRE 1200 912 1264 912 WIRE 432 272 416 272 WIRE 1152 1984 1216 1984 WIRE 1152 2016 1216 2016 WIRE 1152 2048 1216 2048 WIRE 1152 2080 1216 2080 WIRE 1152 2112 1216 2112 WIRE 1072 1984 1008 1984 WIRE 1072 2016 1008 2016 WIRE 1072 2048 1008 2048 WIRE 1072 2080 1008 2080 WIRE 1072 2112 1008 2112 WIRE 128 1216 128 1248 WIRE 128 1136 128 1104 WIRE 128 1104 176 1104 WIRE -176 336 -176 368 WIRE -176 256 -176 224 WIRE -176 224 -96 224 WIRE 1152 1472 1232 1472 WIRE -112 1472 -160 1472 WIRE -160 1472 -192 1472 WIRE -112 1584 -112 1648 WIRE -112 1536 -112 1472 FLAG -128 64 0 FLAG -176 960 0 FLAG -80 -96 fstart FLAG -144 800 sine0 FLAG -176 624 0 FLAG -112 480 phase IOPIN -112 480 Out FLAG 448 64 0 FLAG 496 -96 freq IOPIN 496 -96 Out FLAG -176 1952 0 FLAG -96 1792 bit0c FLAG 352 1952 0 FLAG 432 1792 bit1c FLAG 864 1952 0 FLAG 944 1792 bit2c FLAG -176 2176 0 FLAG -96 2016 bit3c FLAG 352 2176 0 FLAG 432 2016 bit4c FLAG 1264 2496 sintest IOPIN 1264 2496 Out FLAG 1008 2400 bit1 FLAG 1008 2496 bit2 FLAG 1008 2592 bit3 FLAG 1008 2688 bit4 FLAG 1008 2304 bit0 FLAG -176 1248 0 FLAG -128 1104 sine1 IOPIN -128 1104 Out FLAG -64 1648 0 FLAG 224 1648 0 FLAG 384 1648 0 FLAG 544 1648 0 FLAG 704 1648 0 FLAG 864 1648 0 FLAG 1024 1648 0 FLAG 1152 1648 0 FLAG 720 400 0 FLAG 848 352 0 FLAG 896 352 0 FLAG 1200 416 0 FLAG 1248 272 phase0 FLAG 432 272 phaseacc FLAG 512 352 0 FLAG 1008 352 0 FLAG 560 480 0 FLAG 1056 480 0 FLAG 560 1072 0 FLAG 656 1024 0 FLAG 704 1024 0 FLAG 1040 1072 0 FLAG 256 944 sine0 FLAG 352 1008 0 FLAG 848 1024 0 FLAG 400 1136 0 FLAG 896 1136 0 FLAG 464 2368 bit0 IOPIN 464 2368 Out FLAG -176 2496 0 FLAG 224 2368 bit0c FLAG 224 2416 clkout FLAG 464 2608 bit3 IOPIN 464 2608 Out FLAG 224 2608 bit3c FLAG 224 2656 clkout FLAG 864 2368 bit1 IOPIN 864 2368 Out FLAG 624 2368 bit1c FLAG 624 2416 clkout FLAG 864 2608 bit4 IOPIN 864 2608 Out FLAG 624 2608 bit4c FLAG 624 2656 clkout FLAG 64 2608 bit2 IOPIN 64 2608 Out FLAG -176 2608 bit2c FLAG -176 2656 clkout FLAG -128 2336 clkout IOPIN -128 2336 Out FLAG 1152 1024 0 FLAG 1200 1024 0 FLAG 1264 912 sine IOPIN 1264 912 Out FLAG 1008 1984 bit4 FLAG 1008 2016 bit3 FLAG 1008 2048 bit2 FLAG 1008 2080 bit1 FLAG 1008 2112 bit0 FLAG 1216 1984 bit4_ FLAG 1216 2016 bit3_ FLAG 1216 2048 bit2_ FLAG 1216 2080 bit1_ FLAG 1216 2112 bit0_ FLAG 128 1248 0 FLAG 176 1104 sine2 IOPIN 176 1104 Out FLAG -176 368 0 FLAG -96 224 phaseacc FLAG 1232 1472 filtSine IOPIN 1232 1472 Out FLAG -160 1472 sine1 FLAG -112 1648 0 SYMBOL voltage -128 -80 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 1 0 1p 1p 1 2) SYMBOL bv -176 832 R0 WINDOW 3 11 -8 Left 0 SYMATTR Value V=int(sin(2*pi*V(phase)/{ACCU})*({DAC}-1)/2+{DAC-1}/2+EPS) SYMATTR InstName B2 SYMBOL bv -176 496 R0 WINDOW 3 82 46 Left 0 SYMATTR Value V=int(V(phase0)+0.5) SYMATTR InstName B3 SYMBOL bv 448 -80 R0 SYMATTR InstName B4 SYMATTR Value V=V(Fstart)*int(FREQ1+0.5) SYMBOL bv -176 1808 R0 SYMATTR InstName B6 SYMATTR Value V=if((V(sine)-2*int(V(sine)/2+{EPS}))>0.5,1,0) SYMBOL bv 352 1808 R0 SYMATTR InstName B7 SYMATTR Value V=if((V(sine)-4*int(V(sine)/4+{EPS}))>1.5,1,0) SYMBOL bv 864 1808 R0 SYMATTR InstName B8 SYMATTR Value V=if((V(sine)-8*int(V(sine)/8+{EPS}))>3.5,1,0) SYMBOL bv -176 2032 R0 SYMATTR InstName B9 SYMATTR Value V=if((V(sine)-16*int(V(sine)/16+{EPS}))>7.5,1,0) SYMBOL bv 352 2032 R0 SYMATTR InstName B10 SYMATTR Value V=if((V(sine)-32*int(V(sine)/32+{EPS}))>15.5,1,0) SYMBOL res 1056 2320 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R2 SYMATTR Value 16k SYMBOL res 1056 2416 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R3 SYMATTR Value 8k SYMBOL res 1056 2512 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R4 SYMATTR Value 4k SYMBOL res 1056 2608 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R5 SYMATTR Value 2k SYMBOL res 1056 2704 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R6 SYMATTR Value 1k SYMBOL bv -176 1120 R0 SYMATTR InstName B11 SYMATTR Value V=2*V(sine)/{DAC-1}-1 SYMBOL res 32 1488 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R7 SYMATTR Value 50 SYMBOL cap 208 1536 R0 SYMATTR InstName C1 SYMATTR Value 92.5p SYMBOL ind 256 1488 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 SYMATTR InstName L1 SYMATTR Value 405n SYMBOL cap 368 1536 R0 SYMATTR InstName C2 SYMATTR Value 205.4p SYMBOL ind 416 1488 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 SYMATTR InstName L2 SYMATTR Value 489.4n SYMBOL cap 528 1536 R0 SYMATTR InstName C3 SYMATTR Value 219.5p SYMBOL ind 576 1488 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 SYMATTR InstName L3 SYMATTR Value 501.1n SYMBOL cap 688 1536 R0 SYMATTR InstName C4 SYMATTR Value 219.5p SYMBOL ind 736 1488 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 SYMATTR InstName L4 SYMATTR Value 489.4n SYMBOL cap 848 1536 R0 SYMATTR InstName C5 SYMATTR Value 205.4p SYMBOL ind 896 1488 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 SYMATTR InstName L5 SYMATTR Value 405n SYMBOL cap 1008 1536 R0 SYMATTR InstName C6 SYMATTR Value 92.5p SYMBOL res 1136 1504 R0 SYMATTR InstName R8 SYMATTR Value 50 SYMBOL sw 480 272 R270 SYMATTR InstName S1 SYMATTR Value sw1 SYMBOL sw 976 272 R270 SYMATTR InstName S2 SYMATTR Value sw1 SYMBOL cap 704 304 R0 SYMATTR InstName C7 SYMATTR Value 10p SYMBOL res 592 288 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R9 SYMATTR Value 10 SYMBOL e 896 240 R0 SYMATTR InstName E1 SYMATTR Value 1 SYMBOL res 1088 288 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R10 SYMATTR Value 10 SYMBOL cap 1184 320 R0 SYMATTR InstName C8 SYMATTR Value 10p SYMBOL voltage 560 352 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value PULSE(0 1 {0.6*TS} 1p 1p {0.2*TS} {TS}) SYMBOL voltage 1056 352 R0 WINDOW 3 -115 175 Left 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR Value PULSE(1 0 {0.4*TS} 1p 1p {0.6*TS} {TS}) SYMATTR InstName V3 SYMBOL sw 320 944 R270 SYMATTR InstName S3 SYMATTR Value sw1 SYMBOL sw 816 944 R270 SYMATTR InstName S4 SYMATTR Value sw1 SYMBOL cap 544 992 R0 SYMATTR InstName C9 SYMATTR Value 10p SYMBOL res 432 960 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R11 SYMATTR Value 10 SYMBOL e 704 912 R0 SYMATTR InstName E2 SYMATTR Value 1 SYMBOL res 928 960 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R12 SYMATTR Value 10 SYMBOL cap 1024 992 R0 SYMATTR InstName C10 SYMATTR Value 10p SYMBOL voltage 400 1024 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V4 SYMATTR Value PULSE(0 1 {0.6*TS} 1p 1p {0.2*TS} {TS}) SYMBOL voltage 896 1024 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V5 SYMATTR Value PULSE(1 0 {0.4*TS} 1p 1p {0.6*TS} {TS}) SYMBOL Digital\\dflop 336 2320 R0 WINDOW 3 51 -34 Left 0 SYMATTR Value td={TS/2} SYMATTR InstName A1 SYMBOL voltage -176 2368 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V6 SYMATTR Value PULSE(0 1 {TS/2} 1p 1p {TS/2} {TS}) SYMBOL Digital\\dflop 336 2560 R0 WINDOW 3 51 -34 Left 0 SYMATTR Value td={TS/2} SYMATTR InstName A2 SYMBOL Digital\\dflop 736 2320 R0 WINDOW 3 51 -34 Left 0 SYMATTR Value td={TS/2} SYMATTR InstName A3 SYMBOL Digital\\dflop 736 2560 R0 WINDOW 3 51 -34 Left 0 SYMATTR Value td={TS/2} SYMATTR InstName A4 SYMBOL Digital\\dflop -64 2560 R0 WINDOW 3 51 -34 Left 0 SYMATTR Value td={TS/2} SYMATTR InstName A5 SYMBOL e 1200 912 R0 SYMATTR InstName E3 SYMATTR Value 1 SYMBOL Digital\\dview5 1088 2128 R0 SYMATTR InstName U1 SYMATTR SpiceLine OFFSET=-7 GAIN=0.5 SYMBOL bv 128 1120 R0 SYMATTR InstName B13 SYMATTR Value V=V(sine)/{DAC-1} SYMBOL bv -176 240 R0 WINDOW 3 -50 173 Left 0 SYMATTR Value V=int(V(freq)+V(phase)-{ACCU}*int((V(freq)+V(phase))/{ACCU})+0.5) SYMATTR InstName B14 SYMBOL e -64 1504 R0 SYMATTR InstName E4 SYMATTR Value 2 TEXT -184 -504 Left 0 !.tran 0 3u 0 {TS/100} TEXT -184 -312 Left 0 !.PARAM DAC=32 TEXT -184 -376 Left 0 !.PARAM ACCU=256 TEXT -184 -344 Left 0 !.PARAM FREQ1=FSIN/FS*ACCU TEXT -184 -408 Left 0 !.PARAM TS=1/FS TEXT -184 -440 Left 0 !.PARAM FS=100e6 TEXT -184 -472 Left 0 !.PARAM FSIN=5e6 TEXT -200 -680 Left 0 ;A DDS Generator With An Integer Accumulator and DAC\n=============================================\nClock frequency: FS 100MHz\nAccumulator: ACCU 256 (8bit)\nFrequency resolution: FS / ACCU \nDAC steps: 32 (5bit) TEXT -224 -152 Left 0 ;fstart must be 0 at t=0 or a uramp() must be added. TEXT -200 168 Left 0 ;The Integer Phase Accumulator TEXT -216 720 Left 0 ;The Sine Function "ROM" With S/H\nIt converts the highest bits of the accumulator to the sine values. TEXT -224 1744 Left 0 ;The Optional Parallel Data Output Bits For A Sine DAC TEXT 936 2208 Left 0 ;A Test Circuit For The Parallel Sine Bits\n"sintest" must be equal to "sine2". TEXT -216 1032 Left 0 ;The normalized sine output from an idela DAC. \nAdjust gain and offset according to your needs. TEXT -184 -232 Left 0 !.model sw1 sw(Vt=0.5 Ron=1 Roff=1G) TEXT -224 2272 Left 0 ;The Deglitcher For The Data Bits TEXT 680 816 Left 0 ;The Sine "ROM" Deglitcher With Sample And Hold TEXT 16 448 Left 0 ;The Phase Wrapper Makes The Word Length. TEXT 624 168 Left 0 ;The Pace Maker With Sample And Hold\n It is a deglitcher too. TEXT 440 -152 Left 0 ;Round To The Nearest Integer TEXT 504 -432 Left 0 ;R\nE\nG TEXT 664 -432 Left 0 ;SINE\n \nROM TEXT 768 -432 Left 0 ;R\nE\nG TEXT 912 -432 Left 0 ;D\nA\nC TEXT 1000 -416 Left 0 ;LP-\nFLT TEXT 1072 -424 Left 0 ;SINE TEXT 424 -520 Left 0 ;D(7:0) TEXT 576 -432 Left 0 ;D(7:3) TEXT 312 -392 Left 0 ;FREQ TEXT 312 -320 Left 0 ;FS TEXT 528 -576 Left 0 ;The Basic DDS Generator TEXT 968 -520 Left 0 ;DIIGITAL SINE TEXT 408 -368 Left 0 ;ACC TEXT -136 1376 Left 0 ;The 30MHz Chebyshef Low Pass Filter TEXT -200 2864 Left 0 !.SUBCKT DVIEW5 in1 out1 in2 out2 in3 out3 in4 out4 in5 out5 offs1={offset} gain1={gain}\nVoffs1 base1 0 DC {offs1+4} \nVoffs2 base2 base1 DC -1\nVoffs3 base3 base2 DC -1\nVoffs4 base4 base3 DC -1\nVoffs5 base5 base4 DC -1\nE1 out1 base1 in1 0 {gain1}\nE2 out2 base2 in2 0 {gain1}\nE3 out3 base3 in3 0 {gain1}\nE4 out4 base4 in4 0 {gain1}\nE5 out5 base5 in5 0 {gain1}\nR1 in1 0 1e8\nR2 in2 0 1e8\nR3 in3 0 1e8\nR4 in4 0 1e8\nR5 in5 0 1e8\n.ENDS DVIEW5 TEXT -184 -272 Left 0 !.PARAM EPS=1e-3 TEXT -200 2816 Left 0 ;The Digital Signal Watcher TEXT 520 -680 Left 0 ;Helmut Sennewald V1.0 TEXT 824 2048 Left 0 ;Bit Viewer -> LINE Normal 391 -375 310 -375 LINE Normal 432 -400 432 -425 LINE Normal 419 -413 444 -413 LINE Normal 472 -413 497 -413 LINE Normal 514 -339 511 -331 LINE Normal 517 -331 514 -339 LINE Normal 514 -299 514 -331 LINE Normal 648 -412 531 -412 LINE Normal 555 -498 555 -412 LINE Normal 366 -498 555 -498 LINE Normal 366 -439 366 -498 LINE Normal 391 -439 366 -439 LINE Normal 736 -413 761 -413 LINE Normal 778 -339 775 -331 LINE Normal 781 -331 778 -339 LINE Normal 778 -299 778 -331 LINE Normal 880 -412 795 -412 LINE Normal 984 -412 957 -412 LINE Normal 1061 -409 1127 -409 LINE Normal 314 -299 778 -299 LINE Normal 826 -504 826 -412 LINE Normal 1128 -504 826 -504 RECTANGLE Normal 1376 665 -248 131 RECTANGLE Normal 1381 1312 -250 695 RECTANGLE Normal 1382 2749 -255 1718 RECTANGLE Normal 1025 107 -250 -180 RECTANGLE Normal 472 -332 391 -475 RECTANGLE Normal 531 -331 497 -475 RECTANGLE Normal 735 -332 649 -475 RECTANGLE Normal 957 -331 880 -475 RECTANGLE Normal 795 -331 761 -475 RECTANGLE Normal 1061 -331 984 -475 RECTANGLE Normal 1384 1694 -256 1337