On Thu, 12 Jul 2012, William Levak wrote: > > > My test routine at present does not simulate initialization, I just put in > numbers where necessary to get it to work. The first odd number is also > treated diferently. It does not shift the shift registers. My mistake. My program actually does shift the registers starting with the first odd number. It just looks like it doesn't because of a flaw in my programming logic. This makes the initialization and operation simpler: INITIALIZATION: The flip-flops are set to 0. The even/odd register is set to 1. The last number register is set to 0. All the shift register positions are set to 0, except the current output positions, which are set to 214. OPERATION: 1. The shift registers output to the flip-flops, which output to the output register. 2. The chip waits for input. If the input is odd and the even/odd register is even, continue below. Otherwise transfer the low bit of the input register to the even/odd register, and continue waiting for input. 3. Exclusive or the input with the last number register. Exclusive or that result with the current position of the shift registers. 4. Shift the shift registers one position, and copy the input register to the last number register. 5. Go to step 1. and continue indefinitely. This looks like it will work, but I have not tested it yet. The advantage is that 214 is set only once. Everything else is normal chip initialization. It does not explain how the even/odd register is set to one when an odd number is accepted. There does not appear to be a good place to do it. It isn't likely to be done when the exclusive or's are executed. That would take very precise timing. The most likely time is when the input register is coppied to the last number register, but that would take separate logic than step 2. wlevak@sdf.lonestar.org SDF Public Access UNIX System - http://sdf.lonestar.org Message was sent through the cbm-hackers mailing listReceived on 2012-07-14 05:00:09
Archive generated by hypermail 2.2.0.