From: Luke Kenneth Casson Leighton Date: Tue, 25 Jun 2019 14:37:20 +0000 (+0100) Subject: add vblock short section to abridged X-Git-Tag: convert-csv-opcode-to-binary~4425 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=056b76149aa948ce59d8ca4c3f0b73f7367da3c5;p=libreriscv.git add vblock short section to abridged --- diff --git a/simple_v_extension/abridged_spec.mdwn b/simple_v_extension/abridged_spec.mdwn index 719f7c587..8bf2ff7d9 100644 --- a/simple_v_extension/abridged_spec.mdwn +++ b/simple_v_extension/abridged_spec.mdwn @@ -255,7 +255,15 @@ No specific hints are yet defined in Simple-V # Vector Block Format -See ancillary resource: [[vblock_format]] +The Vector Block format uses the RISC-V 80-192 bit format from Section 1.5 +of the RISC-V Spec. It permits an optional VL/MVL/SUBVL block, up to 4 +16-bit (or 8 8-bit) Register Table entries, the same for Predicate Entries, +and the rest of the instruction may be either standard RV opcodes or the +SVPrefix opcodes ([[sv_prefix_proposal]]) + +[[!inline raw="yes" pages="simple_v_extension/vblock_table_format" ]] + +For full details see ancillary resource: [[vblock_format]] # Subsets of RV functionality diff --git a/simple_v_extension/vblock_format.mdwn b/simple_v_extension/vblock_format.mdwn index 03f7c6d0a..bf39c4d2c 100644 --- a/simple_v_extension/vblock_format.mdwn +++ b/simple_v_extension/vblock_format.mdwn @@ -23,25 +23,7 @@ The format is: Thus, the variable-length format from Section 1.5 of the RISC-V ISA is used as follows: -| base+4 ... base+2 | base | number of bits | -| ------ ----------------- | ---------------- | -------------------------- | -| ..xxxx xxxxxxxxxxxxxxxx | xnnnxxxxx1111111 | (80+16\*nnn)-bit, nnn!=111 | -| {ops}{Pred}{Reg}{VL Block} | SV Prefix | | - -A suitable prefix, which fits the Expanded Instruction-Length encoding -for "(80 + 16 times instruction-length)", as defined in Section 1.5 -of the RISC-V ISA, is as follows: - -| 15 | 14:12 | 11:10 | 9:8 | 7 | 6:0 | -| - | ----- | ----- | ----- | --- | ------- | -| vlset | 16xil | pplen | rplen | mode | 1111111 | - -The VL/MAXVL/SubVL Block format: - -| 31-30 | 29:28 | 27:22 | 21:17 - 16 | -| - | ----- | ------ | ------ - - | -| 0 | SubVL | VLdest | VLEN vlt | -| 1 | SubVL | VLdest | VLEN | +[[!inline raw="yes" pages="simple_v_extension/vblock_table_format" ]] Note: this format is very similar to that used in [[sv_prefix_proposal]] diff --git a/simple_v_extension/vblock_format_table.mdwn b/simple_v_extension/vblock_format_table.mdwn new file mode 100644 index 000000000..9ded747d4 --- /dev/null +++ b/simple_v_extension/vblock_format_table.mdwn @@ -0,0 +1,20 @@ +| base+4 ... base+2 | base | number of bits | +| ------ ----------------- | ---------------- | -------------------------- | +| ..xxxx xxxxxxxxxxxxxxxx | xnnnxxxxx1111111 | (80+16\*nnn)-bit, nnn!=111 | +| {ops}{Pred}{Reg}{VL Block} | SV Prefix | | + +A suitable prefix, which fits the Expanded Instruction-Length encoding +for "(80 + 16 times instruction-length)", as defined in Section 1.5 +of the RISC-V ISA, is as follows: + +| 15 | 14:12 | 11:10 | 9:8 | 7 | 6:0 | +| - | ----- | ----- | ----- | --- | ------- | +| vlset | 16xil | pplen | rplen | mode | 1111111 | + +The VL/MAXVL/SubVL Block format: + +| 31-30 | 29:28 | 27:22 | 21:17 - 16 | +| - | ----- | ------ | ------ - - | +| 0 | SubVL | VLdest | VLEN vlt | +| 1 | SubVL | VLdest | VLEN | +