https://libre-soc.org/openpower/isa/fixedload/ noted that zeroing on RA is possible
added, untested, however may have a block when both zero and immediate set.
(In reply to Luke Kenneth Casson Leighton from comment #1) > added, untested, however may have a block when both zero and immediate set. it's fine. unit test modified as follows: + rd = 0b00 + if not imm_ok: + rd |= 0b10 + if not zero_a: + rd |= 0b01 + + if rd: + yield dut.rd.go.eq(rd) + yield from wait_for(dut.rd.rel) + yield dut.rd.go.eq(0)
cesar this one likewise needs similar tests to the MultiCompUnit, might even be able to share the same base classes at some point. again it needs that "multi-process" simulation model: * one function doing setup, setting oper_i, issue_i, then monitoring busy_o before exiting * another that checks busy_o and, when set, proceeds to monitor a single bit of rd.req, sets the corresponding bit of rd.go for one cycle, then monitors busy_o before exiting * likewise for write requests. this is exactly the same as needed for MultiCompUnit (up to this point). the additions obviously are to have extra functions that: * monitor req_adr_o and set go_adr_i * monitor req_st_o and set go_st_i * check the address and the data afterwards