forked from riscv-boom/riscv-boom
-
Notifications
You must be signed in to change notification settings - Fork 2
weekly_report_notes
David Metz edited this page Sep 28, 2020
·
1 revision
#14.09. - 20.09.
-
finally got bank account and submitted it + summer job hours to hr -> can finally get employee account + get paid
-
firesim
- got firesim repo to build and software to run on lobo
- qemu can't be built
- requires newer gthread and glib versions than available
- only necessary for FireMarshal -> test linux images elsewhere -> needs to be commented out in firesim/target-design/chipyard/scripts/build-toolchains.sh
- make dromajo compile
- Makfile should be generated by cmake -> no use for pull request -> add -D__STDC_FORMAT_MACROS to CXXFLAGS in firesim/target-design/chipyard/tools/dromajo/dromajo-src/src/Makefile -> lobo now usable
- qemu can't be built
- adjusted firesim makefiles to provide targets fpga and convey-app for PLATFORM=convey
- fpga generates files for convey toolchain and builds fpga image
- convey-app compiles host application for firesim (new host application for every image because bridge addresses can change)
- firesim hangs in initialisation phase
- communication with convey to axi shell works from firesim binary -> builds correctly
- communication with bridge registers over AXI fails
-> get verilator simulation of wolverine to work for firesim
- WolverineShim as top verilog
- simif_convey_emul
- found out that I was using word addresses instead of byte addresses... -> simulation is now at least starting
- implement + check memory next -> turns out that the maximum transaction size what set too large -> dhrystone works in simulation
- firesim works for ibda.elf
- hangs every second time - some reset not working?
- quickfix: don't let dispatch complete -> fpga bitstream is reloaded for every execution -> slow startup -> reset csr in convey harness?
- hangs every second time - some reset not working?
- doesn't work for dhrystone
- run individual instruction tests
- something broken for amo instructions -> difference between real and simulation memory interface?
- create simple tracer to find out which insn fails
- TracerS
- run individual instruction tests
- got firesim repo to build and software to run on lobo
###Objectives for last week
- get firesim to work ###Accomplishments last week
- finally got bank account and submitted it + summer job hours to hr -> can finally get employee account + get paid
- got firesim to build on lobo
- integrated convey bitstream build process into firesim
- implemented verilator simulation of convey interface for firesim ###Problems and solutions
- fixed some memory interface issues with the simulator
- firesim currently fails for programs with amo instructions
- works in simulator
- simple tracer to find out exact failing point (TracerV without DMA) ###Next week's objectives
- get amo instructions to work on firesim
- finish implementing tracer
- improve simulation model once source is found
- improve firesim makefile to make usage easier
- run simulations on firesim ###Long-term plan
- get thesis work running on new firesim
- improve critical path
- investigate OpenRoad ASIC toolflow
- decide what to do next
#21.09. - 27.09.
- firesim
- got TracerS to work
- failing applications either stop right after bootloader or at 0x8000003E - last before 0x80000040
-> elf loading does not work
- disabled loadmem interface because it does not work propperly
- replacing with wolverine
- memcopy does not work while accelerator is running -> doesn't work
- use TSI instead
- TSI is too slow
- adjust +fesvr-step-size and let serial act without blocking
- rework serial bridge to have bigger buffers + better interface
- TSI is too slow
- replacing with wolverine
- disabled loadmem interface because it does not work propperly
- applications work
- linux hangs during boot
- update FireMarshall + generate new image -> linux boots and works
###Objectives for last week
- get amo instructions to work on firesim
- finish implementing tracer
- improve simulation model once source is found
- improve firesim makefile to make usage easier
- run simulations on firesim ###Accomplishments last week
- got firesim to work
- working TracerS (currently 1-wide only)
- working linux
- decent speeds
- experimented a bit with FASED memory model ###Problems and solutions
- failing applications either stop right after bootloader or at 0x8000003E - last before 0x80000040
-> elf loading does not work
- disabled loadmem interface because it does not work propperly
- replacing with wolverine
- memcopy does not work while accelerator is running -> doesn't work
- use TSI instead
- TSI is too slow
- adjust +fesvr-step-size and let serial act without blocking
- rework serial bridge to have bigger buffers + better interface ###Next week's objectives
- TSI is too slow
- replacing with wolverine
- disabled loadmem interface because it does not work propperly
- improve firesim makefile to make usage easier
- run simulations on firesim
- find out how to decouple FASED memory freq. from system freq.
- old method deprecated and not replaced yet? ###Long-term plan
- get thesis work running on new firesim
- improve critical path
- investigate OpenRoad ASIC toolflow
- decide what to do next