Digital Logic: What are âhamming codeâ and âBinary codeâ state machines?
Clash Royale CLAN TAG#URR8PPP
up vote
1
down vote
favorite
I'm asked to draw the circuit for a state machine in one hot, hamming code and binary code models. I know what is one hot state machine, but i'm not sure what are the other 2. Google also didn't help. Any ideas?
digital-logic flipflop state-machines
add a comment |Â
up vote
1
down vote
favorite
I'm asked to draw the circuit for a state machine in one hot, hamming code and binary code models. I know what is one hot state machine, but i'm not sure what are the other 2. Google also didn't help. Any ideas?
digital-logic flipflop state-machines
examine the work of Richard Hamming.
â analogsystemsrf
46 mins ago
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I'm asked to draw the circuit for a state machine in one hot, hamming code and binary code models. I know what is one hot state machine, but i'm not sure what are the other 2. Google also didn't help. Any ideas?
digital-logic flipflop state-machines
I'm asked to draw the circuit for a state machine in one hot, hamming code and binary code models. I know what is one hot state machine, but i'm not sure what are the other 2. Google also didn't help. Any ideas?
digital-logic flipflop state-machines
digital-logic flipflop state-machines
asked 6 hours ago
Ju Bc
1375
1375
examine the work of Richard Hamming.
â analogsystemsrf
46 mins ago
add a comment |Â
examine the work of Richard Hamming.
â analogsystemsrf
46 mins ago
examine the work of Richard Hamming.
â analogsystemsrf
46 mins ago
examine the work of Richard Hamming.
â analogsystemsrf
46 mins ago
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
5
down vote
accepted
If you have a state machine with N states, there are a number of different ways to encode those states as binary logic.
One-hot encoding assigns one FF to each state, so it requires N FFs. Only one FF has the value 1 (is "hot") at a time. If at any time, more than one FF is 1, that's an error.
Binary encoding assigns sequential integers to the states, and they get encoded on $lceillog_2 Nrceil$ FFs as unsigned binary numbers.
Hamming encoding is similar to binary encoding, except that enough additional FFs are added so that the state assignments are Hamming codes that are capable of correcting single-bit errors and detecting double-bit errors. An error detector monitoring the state values can determine that an error has occurred and correct it. If the binary encoding requires $M = lceillog_2 Nrceil$ FFs, then the Hamming encoding requires an additional $lceillog_2 Mrceil + 1$ FFs.
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
accepted
If you have a state machine with N states, there are a number of different ways to encode those states as binary logic.
One-hot encoding assigns one FF to each state, so it requires N FFs. Only one FF has the value 1 (is "hot") at a time. If at any time, more than one FF is 1, that's an error.
Binary encoding assigns sequential integers to the states, and they get encoded on $lceillog_2 Nrceil$ FFs as unsigned binary numbers.
Hamming encoding is similar to binary encoding, except that enough additional FFs are added so that the state assignments are Hamming codes that are capable of correcting single-bit errors and detecting double-bit errors. An error detector monitoring the state values can determine that an error has occurred and correct it. If the binary encoding requires $M = lceillog_2 Nrceil$ FFs, then the Hamming encoding requires an additional $lceillog_2 Mrceil + 1$ FFs.
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
add a comment |Â
up vote
5
down vote
accepted
If you have a state machine with N states, there are a number of different ways to encode those states as binary logic.
One-hot encoding assigns one FF to each state, so it requires N FFs. Only one FF has the value 1 (is "hot") at a time. If at any time, more than one FF is 1, that's an error.
Binary encoding assigns sequential integers to the states, and they get encoded on $lceillog_2 Nrceil$ FFs as unsigned binary numbers.
Hamming encoding is similar to binary encoding, except that enough additional FFs are added so that the state assignments are Hamming codes that are capable of correcting single-bit errors and detecting double-bit errors. An error detector monitoring the state values can determine that an error has occurred and correct it. If the binary encoding requires $M = lceillog_2 Nrceil$ FFs, then the Hamming encoding requires an additional $lceillog_2 Mrceil + 1$ FFs.
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
add a comment |Â
up vote
5
down vote
accepted
up vote
5
down vote
accepted
If you have a state machine with N states, there are a number of different ways to encode those states as binary logic.
One-hot encoding assigns one FF to each state, so it requires N FFs. Only one FF has the value 1 (is "hot") at a time. If at any time, more than one FF is 1, that's an error.
Binary encoding assigns sequential integers to the states, and they get encoded on $lceillog_2 Nrceil$ FFs as unsigned binary numbers.
Hamming encoding is similar to binary encoding, except that enough additional FFs are added so that the state assignments are Hamming codes that are capable of correcting single-bit errors and detecting double-bit errors. An error detector monitoring the state values can determine that an error has occurred and correct it. If the binary encoding requires $M = lceillog_2 Nrceil$ FFs, then the Hamming encoding requires an additional $lceillog_2 Mrceil + 1$ FFs.
If you have a state machine with N states, there are a number of different ways to encode those states as binary logic.
One-hot encoding assigns one FF to each state, so it requires N FFs. Only one FF has the value 1 (is "hot") at a time. If at any time, more than one FF is 1, that's an error.
Binary encoding assigns sequential integers to the states, and they get encoded on $lceillog_2 Nrceil$ FFs as unsigned binary numbers.
Hamming encoding is similar to binary encoding, except that enough additional FFs are added so that the state assignments are Hamming codes that are capable of correcting single-bit errors and detecting double-bit errors. An error detector monitoring the state values can determine that an error has occurred and correct it. If the binary encoding requires $M = lceillog_2 Nrceil$ FFs, then the Hamming encoding requires an additional $lceillog_2 Mrceil + 1$ FFs.
answered 6 hours ago
Dave Tweedâ¦
113k9136243
113k9136243
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
add a comment |Â
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
Addendum: Vendors of synthesis software (Xilinx Vivado, Intel Quartus, Synopsys Simplify, ...) are offering additional encodings like gray code, sequential, ... These codes depend on the number of states and the layout of the state transition graph. Tools might explore different encodings to choose the "best" encoding with regards to area (resources) and speed (timing).
â Paebbels
20 mins ago
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f402254%2fdigital-logic-what-are-hamming-code-and-binary-code-state-machines%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
examine the work of Richard Hamming.
â analogsystemsrf
46 mins ago