Goals

  • I really want to finish all instructions in the ISA, but I don’t think it’s possible this week. Some instructions are clearly going to need more work. I’m not sure, for example, how to synthesize a multiply…but it seems like it’ll likely need a lot of slices.

What I want to do:

  • Get SODA simulator up and running.
  • Writing
    • Tue
    • Wed
    • Thu
    • Fri

Can we implement comparison (let’s just say equals for now) of two 8 bit numbers on an UltraScale+ CLB? I feel like we should be able to using the carry chain.

Let’s take a two bit example. We have two outputs from the two luts. One output (O6) controls the mux selector. The other output feeds into the mux. From the carry chain, we can either get the output of the mux, or the output of the XOR (which I don’t think will be useful to us.)

If they’re equal, then it’s the result of the previous layer. If they’re not equal, then it’s 0. So cin should be 1.

(0,0) = 1
(0,1) = 0
(1,0) = 0
(1,1) = 1