Hello,
I stumbled across this site which has been very helpful for the digital circuit design course I have been taking. I appreciate all of the content. My instructor has given us an assignment that I have challenged as being inconsistent and I would appreciate some advice if anyone has time to look at this. The problem statement:
A Universal Serial Bus (USB) communication link requires a circuit that produces the sequence 00000001. Since this sequence is a flag used in the USB communication network, that represents the beginning of a message, this flag must be unique. As a consequence, at most five 1s in the sequence may appear anywhere else in the message. Since this is unrealistic for normal message context, a trick called zero insertion is used. The normal message which can contain strings of 1s longer than 5, enters input X of a sequential zero-insertion circuit. After a fifth 1 in sequence appears on X, a 0 is inserted in the stream of outputs appearing on Z and the output S = 1, indicating to the circuit supplying the zero-insertion circuit with inputs that it must stall and not apply a new input for one clock cycle. This is necessary because the insertion of 0s in the output sequence causes it to be longer than the input sequence without the stall.
An example is given: 01111100111111100001011110101
Sequence on X without any stalls: 01111110001111111100001011110101
Sequence on X with stalls 0111110001111101100001011110101
Sequence on Z:
Sequence on S: 0000001000000010000000000000000
I have bolded the inconsistent portion. I believe that this is meant to be 01111110 (as I understand is a common flag), and that zero-bit insertion is not possible with 00000001. Is this an incorrect assumption?
Example sequence: 0-0-0-0-0-0-0 (if I see a 1, it's the flag now, so I should insert a 0) - 0 (if I see a 1, it's the flag now, so I should insert a 0).... This pattern would repeat indefinitely - this flag simply does not allow for zero-bit insertion.
I would appreciate any help, as I am convinced there is errata that needs to be corrected here. If I am incorrect, please point me in the right direction as I am completely lost.
Thank you.
I stumbled across this site which has been very helpful for the digital circuit design course I have been taking. I appreciate all of the content. My instructor has given us an assignment that I have challenged as being inconsistent and I would appreciate some advice if anyone has time to look at this. The problem statement:
A Universal Serial Bus (USB) communication link requires a circuit that produces the sequence 00000001. Since this sequence is a flag used in the USB communication network, that represents the beginning of a message, this flag must be unique. As a consequence, at most five 1s in the sequence may appear anywhere else in the message. Since this is unrealistic for normal message context, a trick called zero insertion is used. The normal message which can contain strings of 1s longer than 5, enters input X of a sequential zero-insertion circuit. After a fifth 1 in sequence appears on X, a 0 is inserted in the stream of outputs appearing on Z and the output S = 1, indicating to the circuit supplying the zero-insertion circuit with inputs that it must stall and not apply a new input for one clock cycle. This is necessary because the insertion of 0s in the output sequence causes it to be longer than the input sequence without the stall.
An example is given: 01111100111111100001011110101
Sequence on X without any stalls: 01111110001111111100001011110101
Sequence on X with stalls 0111110001111101100001011110101
Sequence on Z:
Sequence on S: 0000001000000010000000000000000
I have bolded the inconsistent portion. I believe that this is meant to be 01111110 (as I understand is a common flag), and that zero-bit insertion is not possible with 00000001. Is this an incorrect assumption?
Example sequence: 0-0-0-0-0-0-0 (if I see a 1, it's the flag now, so I should insert a 0) - 0 (if I see a 1, it's the flag now, so I should insert a 0).... This pattern would repeat indefinitely - this flag simply does not allow for zero-bit insertion.
I would appreciate any help, as I am convinced there is errata that needs to be corrected here. If I am incorrect, please point me in the right direction as I am completely lost.
Thank you.