feat(backend): NewDispatch
feat: implement a new version of reset tree (#3546)This commit uses `LazyRawModuleImp` to implement L2Top, MemBlock, Backend and frontend so that when `--reset-gen` option is enabled, reset input
feat: implement a new version of reset tree (#3546)This commit uses `LazyRawModuleImp` to implement L2Top, MemBlock, Backend and frontend so that when `--reset-gen` option is enabled, reset input of these modules will go through `ResetGen` and then drives the reset of the registers inside the module. <img src="https://github.com/user-attachments/assets/1f544afe-4644-4604-ba6f-d14d31909f78" width="50%"> --------- Co-authored-by: chengguanghui <[email protected]>
show more ...
Backend: remove useless firtool args in BackendMain
FU: fix mgu for body elements's agnostic* Modify the signal names about divided vector elements to be consistent with RVV Spec.
WakeupQueue: pdest copy
fix merge errors
fix merge error
backend: parameterized generation debug IO and difftest IO
wakeupQueue: flush pending wakeup requests when canceling
Backend: refactor issueQueue to entry form
iq: fix src timer* Src timer record the cycles of src's been waked up.* Src timer should not overflow since it started.
backend: add MultiWakeupQueue* TODO: support multi-enqueue
vector: add mask-tail genenerator for byte data
fu: split io bundle into ctrl and data parts
backend: refactor vset and add rab support
backend,vector: rewrite vset uop and base module* Add unit-test for vset base module
backend: fix merge master error
backend: merge v2backend into backend
Refactor parameters, SimTop and difftest (#753)* difftest: use DPI-C to refactor difftest In this commit, difftest is refactored with DPI-C calls. There're a few reasons: (1) From Verilator's
Refactor parameters, SimTop and difftest (#753)* difftest: use DPI-C to refactor difftest In this commit, difftest is refactored with DPI-C calls. There're a few reasons: (1) From Verilator's manual, DPI-C calls should be more efficient than accessing from dut_ptr. (2) DPI-C is cross-platform (Verilator, VCS, ...) (3) difftest APIs are splited from emu.cpp to possibly support more backend platforms (NEMU, Spike, ...) The performance at this commit is quite slower than the original emu. Performance issues will be fixed later. * [WIP] SimTop: try to use 'XSTop' as soc * CircularQueuePtr: ues F-bounded polymorphis instead implict helper * Refactor parameters & Clean up code * difftest: support basic difftest * Support diffetst in new sim top * Difftest; convert recode fmt to ieee754 when comparing fp regs * Difftest: pass sign-ext pc to dpic functions && fix exception pc * Debug: add int/exc inst wb to debug queue * Difftest: pass sign-ext pc to dpic functions && fix exception pc * Difftest: fix naive commit num limit Co-authored-by: Yinan Xu <[email protected]> Co-authored-by: William Wang <[email protected]>
RS: re-write rs into three block: select ctrl(uop) data(srcdata)1. divide into three block2. change io port: broadcastUop -> fastUopsIn selectUop -> fastUopOut extraPorts -> slowPorts
RS: re-write rs into three block: select ctrl(uop) data(srcdata)1. divide into three block2. change io port: broadcastUop -> fastUopsIn selectUop -> fastUopOut extraPorts -> slowPorts etc.the cross sub block io is not wrapped, to it later
ReservationStationData: fix data read bug
RsDataTest: add a tester for ReservationStationDataRsData: fix log print bug and data/uop-read bug
Remove brq test
brq: add needAlloc to optimize timing
clean up deprecated decode codes
123