aboutsummaryrefslogtreecommitdiff
path: root/model/riscv_flen_D.sail
AgeCommit message (Collapse)AuthorFilesLines
2021-07-29Use headache to apply copyright header at request of Peter Sewell.Robert Norton1-0/+68
2019-11-12Fix a typo in setting flenbits.Prashanth Mundkur1-1/+1
2019-09-13First commit with code for F and D extensions (detail follows)rsnikhil1-0/+5
>---------------- Modified existing file: riscv_sys_regs.sail Added predicates 'haveFExt()' and 'haveDExt()' Similar to existing 'haveNExt()', 'haveAtomics()', etc. >---------------- New files: riscv_flen_F.sail and riscv_flen_D.sail These are analogous to existing: riscv_xlen32.sail and riscv_xlen64.sail >---------------- New file: riscv_freg_type.sail This is analogous to existing: riscv_reg_type.sail >---------------- New file: riscv_fdext_regs.sail This is the definition of the floating-point reg file, analogous to existing: riscv_regs.sail >---------------- New file: riscv_insts_fdext.sail This is the spec of F and D instructions. The file has a section separated by /* **** */ lines for each related group of instructions. Each section contains: union clause ast ... mapping clause encdec ... function clause execute ... mapping clause assembly ... Finished all the ast, encdec, and assembly sections. For the execute sections: - Finished LOAD_FP and STORE_FP - For FADD_S/FSUB_S/FMUL_S/FDIV_S: done, assuming certain primitives for the actual arithmetic, which have to be linked into Berkeley softloat. - Rest of them have placeholders that treat them as illegal instrs. Todo: - Finish 'function clause execute' for remaining instructions, and collect list of primitives needed (based on softfloat) - Fix up Makefile to include these new files, make sure everything compiles. - Connect softfloat, and run ISA tests.