diff options
| author | azidar | 2015-05-15 16:34:34 -0700 |
|---|---|---|
| committer | azidar | 2015-05-15 16:34:34 -0700 |
| commit | 2702e571040e7a07317b79f9c5cfdbd61b9ab2bf (patch) | |
| tree | 0e5973d175be18851865b712e16871764157889f /TODO | |
| parent | 521a4277bfc1d764dc9ee771c604200525e871cb (diff) | |
Updated firrtl for its passes to be a bit more modular, and to enable plugging in other backends. Also updated a lot of tests, but not all of them because its annoying.
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 34 |
1 files changed, 24 insertions, 10 deletions
@@ -3,10 +3,9 @@ ================================================ ======== Current Tasks ======== -Declared references needs to understand scope +Declared references needs to understand scope <= check in high form check Size of vector type must be non-negative Check for recursively defined instances -Update spec <> Add Unit Tests for each pass Separate passes into discrete chunks @@ -14,10 +13,30 @@ Add Unit Tests for each pass Check after each pass write test that checks instance types are correctly lowered move width inference earlier -Register should be a NODE, not a wire that is connected to, because you shouldn't be able to write to a wire that was connected to a Register? hmm.. think about this +Remove Pad +Fix all primops and width inference +Verilog +SeqMem +BlackBoxes +Scaling + +======== Verilog Backend Notes ======== +1) Emit module. No Parameters. Include clk and reset signals +2) Emit all declarations (wires,regs) +3) Initialize all regs with random values under synthesis +4) Emit all connections as assign statements +5) Emit assertions under always @ posedge clk, under synthesisp +6) Emit all register updates: + if(io_update_valid) begin + R4 <= io_update_bits_target; + end + Note: muxes turn into if/else statements within the always@ block +Notes: + For now, emit mems as reg with nothing else. + WritePorts? + ======== Update Core ========== -Add source locaters Add exmodule Add vptype Add readwriteport @@ -65,12 +84,7 @@ Verilog backend Eliminate skips ======== Consultations ======== -Stephen: - width equality - pin stephen on an example -Patrick: - move Infer-Widths to before vec expansion? - talk about primops +Andrew: Way to keep Array information for backends to avoid code explosion ======== Think About ======== <> |
