diff --git a/TODOs.org b/TODOs.org index 979caf9..0e07525 100644 --- a/TODOs.org +++ b/TODOs.org @@ -1,6 +1,8 @@ * Points -** + Test strategy + + Fuck å gjøre det ordentlig, det blir bare kaos * Tutorials https://github.com/ucb-bar/generator-bootcamp diff --git a/oppgavetekst.org b/oppgavetekst.org index 973c951..04568fe 100644 --- a/oppgavetekst.org +++ b/oppgavetekst.org @@ -743,12 +743,17 @@ Now all we need to do is calculate the dot products for the final matrix: #+begin_src - A*B = C then + if A*B = C then | A[0] × BT[0], A[0] × BT[1], A[0] × BT[2] | C = | A[1] × BT[0], ... , ... | | ... , ... , A[2] × BT[2] | + where + A[0] × BT[0] is the dot product of [2, 5] and [1, 0] + and + A[0] × BT[1] is the dot product of [2, 5] and [1, 4] + and so forth.. #+end_src Because of this, the input for matrix B will be supplied transposed, thus you do not diff --git a/src/test/scala/MatMulTips.org b/src/test/scala/MatMulTips.org index b1aeba9..c224fd7 100644 --- a/src/test/scala/MatMulTips.org +++ b/src/test/scala/MatMulTips.org @@ -17,10 +17,13 @@ This is a fairly typical task, so chisel.util has you covered with the Counter c https://chisel.eecs.berkeley.edu/api/3.0.1/chisel3/util/Counter.html https://chisel.eecs.berkeley.edu/api/3.0.1/chisel3/util/Counter$.html -(The second link links to the Counter object rather than the class. Typically we put -constructors and static methods in the companion object of a class) +The second link links to the Counter object rather than the class. Typically we put +constructors and static methods in the companion object of a class. +Object methods named apply can be called directly from the object, which means +~MyObject.apply(123)~ is the same as ~MyObject(123)~ +Very convenient once you're used to it, but a little odd first time you see it. -In the Counter object there is a method called apply: +In the Counter object there is an apply method: #+begin_src scala def apply(cond: Bool, n: Int): (UInt, Bool) #+end_src @@ -51,3 +54,5 @@ To test them, write your own test for MatMul that simply runs your MatMul unit a timestep until you're confident that they're correct. As described in the debugging section, you should make a separate debug IO port with debug signals enabling you to read out these values. Attempting to read them directly will throw an error. + +The best tip of course is to actually show up during lab hours. diff --git a/tdt4255figs/pngs/vector.png b/tdt4255figs/pngs/vector.png deleted file mode 100644 index 489a5e4..0000000 Binary files a/tdt4255figs/pngs/vector.png and /dev/null differ diff --git a/tdt4255figs/pngs/vectorBB.png b/tdt4255figs/pngs/vectorBB.png deleted file mode 100644 index 71dfe58..0000000 Binary files a/tdt4255figs/pngs/vectorBB.png and /dev/null differ diff --git a/tdt4255figs/vector.svg b/tdt4255figs/vector.svg deleted file mode 100644 index 59286b5..0000000 --- a/tdt4255figs/vector.svg +++ /dev/null @@ -1,1410 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - 0 - 0 - 0 - 0 - 4 - 0 - - - - - - - - - 4 - 0 - 0 - 0 - 3 - 0 - - - - - - - - - 4 - 3 - 8 - 0 - 1 - 0 - - - - - - - - - 4 - 3 - 0 - 0 - 8 - 0 - - - - - - - - - - - 4 - 3 - 8 - 1 - 0 - 4 - - - - - - - - - 0 - 3 - 8 - 1 - 0 - 3 - - - - - - - - - 0 - 0 - 0 - 1 - 0 - 1 - - - - - - - - - 0 - 0 - 8 - 1 - 0 - 8 - - - - - - - - - - - 4 - 3 - 8 - 1 - 0 - 4 - - - - - - - - - 4 - 3 - 8 - 1 - 0 - 3 - - - - - - - - - 4 - 3 - 8 - 1 - 0 - 1 - - - - - - - - - 4 - 3 - 8 - 1 - 0 - 8 - - - Write enabled - Write disabled - Write enabled - - diff --git a/tdt4255figs/vectorBB.svg b/tdt4255figs/vectorBB.svg deleted file mode 100644 index 65ca546..0000000 --- a/tdt4255figs/vectorBB.svg +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - data in - write enable - data out - 1 - 1 - 0 - Cycle 3 - - - - - - data in - write enable - data out - 0 - 0 - 1 - Cycle 7 - - - - - data in - write enable - data out - - 0 - 1 - Cycle 11 - 1 - -