User Tools

Site Tools


notes:discrete:fall2022:projects:lmr0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
notes:discrete:fall2022:projects:lmr0 [2022/09/27 21:03] – [PROGRAM] gsubernotes:discrete:fall2022:projects:lmr0 [2022/09/29 03:59] (current) pleblanc
Line 35: Line 35:
   * Xor   * Xor
   * Xnor   * Xnor
-  * Logical shift (potentially 2 separate operations, shift left and shift right+  * Logical shift (potentially 2 separate operations; Shift Left / Shift Right
-  * Logical rotate+  * Logical rotate (Rotate Left / Rotate Right)
  
 We will be writing different functions that will have this functionality. While it seems simple, we have to start somewhere, and you might find the later parts in shift/rotate a bit harder. Your functions will contain a bunch of if, else if, and else statements. Rest assured that you are doing fine if your code consists of a bunch of these. We will be writing different functions that will have this functionality. While it seems simple, we have to start somewhere, and you might find the later parts in shift/rotate a bit harder. Your functions will contain a bunch of if, else if, and else statements. Rest assured that you are doing fine if your code consists of a bunch of these.
Line 64: Line 64:
 =====VERIFICATION===== =====VERIFICATION=====
 There is no make verify with this project. Your verification can be in the form of the main function displaying the truth tables. You can also display the rotate left and right array values after calling your function. The truth tables are located above to refer to. There is no make verify with this project. Your verification can be in the form of the main function displaying the truth tables. You can also display the rotate left and right array values after calling your function. The truth tables are located above to refer to.
 +
 +=====EXAMPLE=====
 +Heres an example output:
 +<cli>
 +USER@lab46:~/src/fall2022/lmr0$ ./lmr0
 +--NOT--
 +--------
 + x | out
 + 0 |  1
 + 1 |  0
 +
 +--AND--
 + x | y | out
 +------------
 + 0 | 0 |  0
 + 0 | 1 |  0
 + 1 | 0 |  0
 + 1 | 1 |  1
 +
 +--OR--
 + x | y | out
 +------------
 + 0 | 0 |  0
 + 0 | 1 |  1
 + 1 | 0 |  1
 + 1 | 1 |  1
 +
 +--NOR--
 + x | y | out
 +------------
 + 0 | 0 |  1
 + 0 | 1 |  0
 + 1 | 0 |  0
 + 1 | 1 |  0
 +
 +--XOR--
 + x | y | out
 +------------
 + 0 | 0 |  0
 + 0 | 1 |  1
 + 1 | 0 |  1
 + 1 | 1 |  0
 +
 +--XNOR--
 + x | y | out
 +------------
 + 0 | 0 |  1
 + 0 | 1 |  0
 + 1 | 0 |  0
 + 1 | 1 |  1
 +
 +--NAND--
 + x | y | out
 +------------
 + 0 | 0 |  1
 + 0 | 1 |  1
 + 1 | 0 |  1
 + 1 | 1 |  0
 +
 +Bitset:                1010
 +Bitset (after LSHIFT): 0100
 +Bitset (after RSHIFT): 0010
 +
 +Bitset:                 10100
 +Bitset (after LROTATE): 01001
 +Bitset (after RROTATE): 10100
 +</cli>
notes/discrete/fall2022/projects/lmr0.1664312593.txt.gz · Last modified: 2022/09/27 21:03 by gsuber