URL
https://opencores.org/ocsvn/or1k-cf/or1k-cf/trunk
Subversion Repositories or1k-cf
[/] [or1k-cf/] [trunk/] [src/] [wb.cf] - Rev 6
Go to most recent revision | Compare with Previous | Blame | View Log
(*Register writeback unitCopyright 2004 Ken RoseAll rights reserved*)-Tiscomponent T +MD +ALU +IR +WriteSelect +MA +SPR -WDwithByte Halfis{display '0' ({vector_of_string "Insn in WB is " $} '++' {hex_of_vector IR $})}Half <- MA'[1] '==' '1' 'then' MD'[15:0]'else' MD'[31:16]Byte <- {mux MA'[1:0] [MD'[31:24] MD'[23:16] MD'[15:8] MD'[7:0]] $}(* Control for writeback mux. Must match decode"0000" ALU output"0001" Zero-extended memory word"0010" Sign-extended memory word"0011" Zero-extended memory byte"0100" Sign-extended memory byte"0101" Zero-extended memory halfword"0110" Sign-extended memory halfword"0111" Immediate data in high half"1000" Data from SPR*){display '0' ({vector_of_string "Memory address is " $} '++' {hex_of_vector MA $})}WD <- {mux WriteSelect [ALUMDMD(('0' '#' 24) '++' Byte)((Byte'[7] '#' 24) '++' Byte)(('0' '#' 16) '++' Half)((Half'[15] '#' 16) '++' Half)(IR'[15:0] '++' ('0' '#' 16))SPR] $}end
Go to most recent revision | Compare with Previous | Blame | View Log
