Skip to main content
edited body
Source Link
hacktastical
  • 58.4k
  • 2
  • 54
  • 166

The task you have set before you are these main items:

  • create a sequence 89 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

The counter resets itself when the count reaches 1000 binary. Fun fact: you can make a D flip-flop into a T flip-flip by using an XOR gate. In fact the logic doing all that -The XORs and ANDs - is a logic block calledform an incrementer: it adds one to the present value.

I used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct encodingdecoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

The task you have set before you are these main items:

  • create a sequence 8 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

The counter resets itself when the count reaches 1000. Fun fact: you can make a D flip-flop into a T flip-flip by using an XOR gate. In fact the logic doing all that - XORs and ANDs - is a logic block called an incrementer: it adds one to the present value.

I used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct encoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

The task you have set before you are these main items:

  • create a sequence 9 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

The counter resets itself when the count reaches 1000 binary. Fun fact: you can make a D flip-flop into a T flip-flip by using an XOR gate. The XORs and ANDs form an incrementer: it adds one to the present value.

I used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct decoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

added 247 characters in body
Source Link
hacktastical
  • 58.4k
  • 2
  • 54
  • 166

The task you have set before you are these main items:

  • create a sequence 8 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

What I've doneThe counter resets itself when the count reaches 1000. Fun fact: you can make a D flip-flop into a T flip-flip by using an XOR gate. In fact the logic doing all that - XORs and ANDs - is a logic block called an incrementer: it adds one to the present value.

I used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct encoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

The task you have set before you are these main items:

  • create a sequence 8 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

What I've done is used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct encoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

The task you have set before you are these main items:

  • create a sequence 8 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

The counter resets itself when the count reaches 1000. Fun fact: you can make a D flip-flop into a T flip-flip by using an XOR gate. In fact the logic doing all that - XORs and ANDs - is a logic block called an incrementer: it adds one to the present value.

I used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct encoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.

Source Link
hacktastical
  • 58.4k
  • 2
  • 54
  • 166

The task you have set before you are these main items:

  • create a sequence 8 counts long
  • convert the sequence number to a 7-segment display

The first part is a 4-bit counter that resets itself on count = 8. Easy enough.

The rest of it can be done a couple of ways.

  • Easy way: use a 4-bit out lookup table for the digits, then use a 4-line to 7-segment decoder
  • Hard(er) way: use a 7-bit out lookup table.
  • Hard(est) way: express each segment with a Sum of Products expression

I've rendered the 'easy' way below (simulate it here)

enter image description here

What I've done is used four 8:1 multiplexers plus a 'special case' 2:1 for count=8. A little trick to allow using smaller muxes, but of course you could use 16:1 types.

To do direct encoding of 7-segment you'd add 3 more multiplexers and set them up with the digit segment tables.

To do Sum Of Products form you'd replace the seven multiplexers with seven AND-OR arrays, one for each segment. You would wire up AND terms for each segment-lit case then OR them together.