J
John Fields
But the state just before lockup *is* the lockup state.
---
No, it isn't.
The state before lockup is 0 0 0 0 0 0 0 1.
If it _was_ the lockup state it would be 0 0 0 0 0 0 0 0.
---
And the state
just after lockup is the same. Either the register is all 0's, and
it's locked forever, or it's some other code, in which case it hopping
through the 2^n-1 states, none of which are zero.
---
That's not true. With the detector in place the state before all
zeros is: 0 0 0 0 0 0 0 1
which is followed by: 0 0 0 0 0 0 0 0
and then: 1 0 0 0 0 0 0 0
---
XNOR feedback?
---
No, XOR, while the detector is a 7-input NOR. Here:
Version 4
SHEET 1 1140 680
WIRE 1008 -496 -320 -496
WIRE -400 -480 -432 -480
WIRE -432 -448 -432 -480
WIRE -432 -448 -480 -448
WIRE -560 -432 -880 -432
WIRE 464 -432 -320 -432
WIRE -432 -384 -480 -384
WIRE 224 -368 -320 -368
WIRE -432 -352 -432 -384
WIRE -400 -352 -432 -352
WIRE -256 -304 -320 -304
WIRE 704 -224 96 -224
WIRE -880 -192 -880 -432
WIRE -880 -192 -928 -192
WIRE 464 -192 464 -432
WIRE 464 -192 96 -192
WIRE -1008 -176 -1056 -176
WIRE 32 -176 -784 -176
WIRE -16 -160 -784 -160
WIRE 224 -160 224 -368
WIRE 224 -160 96 -160
WIRE -256 -144 -256 -304
WIRE -256 -144 -784 -144
WIRE -848 -128 -928 -128
WIRE -496 -128 -784 -128
WIRE -736 -112 -784 -112
WIRE -864 112 -1216 112
WIRE -624 112 -864 112
WIRE -384 112 -624 112
WIRE -144 112 -384 112
WIRE 96 112 -144 112
WIRE 336 112 96 112
WIRE 576 112 336 112
WIRE 816 112 576 112
WIRE 944 112 816 112
WIRE -864 160 -864 112
WIRE -624 160 -624 112
WIRE -384 160 -384 112
WIRE -144 160 -144 112
WIRE 96 160 96 112
WIRE 336 160 336 112
WIRE 576 160 576 112
WIRE 816 160 816 112
WIRE -1056 208 -1056 -176
WIRE -944 208 -1056 208
WIRE -736 208 -736 -112
WIRE -736 208 -784 208
WIRE -704 208 -736 208
WIRE -496 208 -496 -128
WIRE -496 208 -544 208
WIRE -464 208 -496 208
WIRE -256 208 -256 -144
WIRE -256 208 -304 208
WIRE -224 208 -256 208
WIRE -16 208 -16 -160
WIRE -16 208 -64 208
WIRE 16 208 -16 208
WIRE 224 208 224 -160
WIRE 224 208 176 208
WIRE 256 208 224 208
WIRE 464 208 464 -192
WIRE 464 208 416 208
WIRE 496 208 464 208
WIRE 704 208 704 -224
WIRE 704 208 656 208
WIRE 736 208 704 208
WIRE 1008 208 1008 -496
WIRE 1008 208 896 208
WIRE -976 256 -1056 256
WIRE -944 256 -976 256
WIRE -704 256 -736 256
WIRE -464 256 -496 256
WIRE -224 256 -256 256
WIRE 16 256 -16 256
WIRE 256 256 224 256
WIRE 496 256 464 256
WIRE 736 256 704 256
WIRE -1216 288 -1216 112
WIRE -1056 288 -1056 256
WIRE -976 352 -976 256
WIRE -736 352 -736 256
WIRE -736 352 -976 352
WIRE -496 352 -496 256
WIRE -496 352 -736 352
WIRE -256 352 -256 256
WIRE -256 352 -496 352
WIRE -16 352 -16 256
WIRE -16 352 -256 352
WIRE 224 352 224 256
WIRE 224 352 -16 352
WIRE 464 352 464 256
WIRE 464 352 224 352
WIRE 704 352 704 256
WIRE 704 352 464 352
WIRE -1216 384 -1216 368
WIRE -1056 384 -1056 368
WIRE -1056 384 -1216 384
WIRE -864 384 -864 304
WIRE -624 384 -624 304
WIRE -624 384 -864 384
WIRE -384 384 -384 304
WIRE -384 384 -624 384
WIRE -144 384 -144 304
WIRE -144 384 -384 384
WIRE 96 384 96 304
WIRE 96 384 -144 384
WIRE 336 384 336 304
WIRE 336 384 96 384
WIRE 576 384 576 304
WIRE 576 384 336 384
WIRE 816 384 816 304
WIRE 816 384 576 384
WIRE 944 384 944 112
WIRE 944 384 816 384
WIRE -1216 432 -1216 384
FLAG -1216 432 0
SYMBOL voltage -1056 272 R0
WINDOW 3 24 104 Invisible 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(0 5 0 1e-6 1e-6 .001 .002)
SYMATTR InstName V1
SYMBOL Digital\\dflop -864 160 R0
SYMATTR InstName A5
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\xor -976 -96 R180
WINDOW 3 16 112 Invisible 0
SYMATTR InstName A14
SYMATTR Value trise 10e-9 vhigh 5v
SYMBOL Digital\\dflop -624 160 R0
SYMATTR InstName A1
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\dflop -384 160 R0
SYMATTR InstName A2
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\dflop -144 160 R0
SYMATTR InstName A3
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\dflop 96 160 R0
SYMATTR InstName A6
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\dflop 336 160 R0
SYMATTR InstName A7
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\dflop 576 160 R0
SYMATTR InstName A8
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\dflop 816 160 R0
SYMATTR InstName A9
SYMATTR SpiceLine Td=10n tripdt=10n trise=30n vhigh=5
SYMBOL Digital\\xor -528 -352 R180
WINDOW 3 16 112 Invisible 0
SYMATTR InstName A4
SYMATTR Value trise 10e-9 vhigh 5v
SYMBOL Digital\\xor -368 -400 R180
WINDOW 3 16 112 Invisible 0
SYMATTR InstName A10
SYMATTR Value trise 10e-9 vhigh 5v
SYMBOL Digital\\xor -368 -272 R180
WINDOW 3 16 112 Invisible 0
SYMATTR InstName A11
SYMATTR Value trise 10e-9 vhigh 5v
SYMBOL Digital\\or 64 -128 R180
WINDOW 3 -8 128 Invisible 0
SYMATTR InstName A12
SYMATTR Value trise 10e-9 vhigh 5v
SYMBOL Digital\\or -816 -208 M0
WINDOW 3 -8 128 Invisible 0
SYMATTR InstName A13
SYMATTR Value trise 10e-9 vhigh 5v
SYMBOL voltage -1216 272 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value PULSE(5 0 1e-6)
TEXT -704 536 Left 0 !.tran 0 .512 0
So you're just detecting some arbitrary state, and forcing the next
state to be zero. Then detecting the zero state 0 and restarting the
sequence.