hofstee / shale

2 stars 1 forks source link

Add Halide-to-Hardware to start of flow #4

Open norabarlow opened 4 years ago

norabarlow commented 4 years ago

Once the Halide-to-Hardware and BufferMapping flow is robust and without manual intervention, let's integrate it into Shale so we can run Halide apps with one command.

norabarlow commented 4 years ago

Another option: integrate Shale into GarnetFlow/similar flow that compiles Halide applications and rewrite rules before running Shale.

hofstee commented 4 years ago

Pinging @jeffsetter

These are the issues I'm running into so far:

  1. The design_top.json generated in GarnetFlow is different than the design_top.json in the apps directory in this repo. This is causing issues when the map.json wants to trace certain signal names since they don't exist in the bitstream.
  2. GarnetFlow needs to install dc and libelf1
  3. The GlobalBuffer name changed from GlobalBuffer_inst0 to GlobalBuffer_32_8_8_17... again... I don't know why. I changed it back.
  4. The 512x16 TSMC macro is missing, while the other one is present in garnet/global_buffer/genesis, this one isn't. I think this is the fault of the --no_sram_stub flag, but we'll probably want this if we want power numbers to be automatically generated?

Rough next steps:

  1. We should get the Halide flow to start generating the new testbench files.
  2. @norabarlow are the changes you made to jmapper something that can be merged back in to garnet?

Other things:

norabarlow commented 4 years ago

I don't know if this answers issue 1., but after Halide-to-Hardware, we go through Joey's BufferMapping (https://github.com/joyliu37/BufferMapping):

  1. Put design_top.json from Jeff in BufferMapping/scripts
  2. Run with python coreir_gen.py design_top.json
  3. Output is in BufferMapping/scripts/output/output_coreir.json
  4. output_coreir.json is moved into the shale apps directory as bin/design_top.json