aboutsummaryrefslogtreecommitdiff
path: root/notes/frontend-notes.04.16.15.txt
blob: 23da75d952e004b9259950d6f709726ace9de276 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
======= Fixes to Jonathan's Front-end ======

== TODO ==
Fixing chisel3 front-end bugs:
   LFSR16: "concat" -> "cat"
   MemorySearch: name collision with node done and output done
   Mul: shr/shl take one expression argument, and one int argument.
      node T_59 = UInt(2, 2)
      node T_60 = shl(x, T_59)
      ==>
      node T_60 = shl(x, 2)
   Outer: "instance" => "inst"
   Stack: bug in firrtl! thanks!

== Completed ==
Remove type from node emission

Currently, these are not equivalent because we will fail a type check:
output in { input x : UInt, input y : UInt}
=>
input in {x : UInt, y : UInt}

Switch "input" -> "flip" and "output" to "" within a bundle
Switch "add-mod" -> "add-wrap"
Switch "multiplex" -> "mux"
Switch "greater" -> "gt"